<!DOCTYPE HTML>
<html lang="zh-hans">

<head>
    <meta charset="UTF-8">
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <title>JavaScript · 码路大前端小册-企业面试真题</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="description" content="">
    <meta name="generator" content="GitBook 3.2.3">
    <meta name="author" content="码路">



    <link rel="stylesheet" href="../gitbook/style.css">




    <link rel="stylesheet" href="../gitbook/gitbook-plugin-splitter/splitter.css">



    <link rel="stylesheet" href="../gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css">



    <link rel="stylesheet" href="../gitbook/gitbook-plugin-anchors/plugin.css">



    <link rel="stylesheet" href="../gitbook/gitbook-plugin-anchor-navigation-ex/style/plugin.css">



    <link rel="stylesheet" href="../gitbook/gitbook-plugin-insert-logo/plugin.css">



    <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">



    <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">



    <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">















    <meta name="HandheldFriendly" content="true" />
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152"
        href="../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">


    <link rel="next" href="../node/" />


    <link rel="prev" href="../HTML+CSS/" />



    <link rel="shortcut icon" href='../source/images/favicon.jpg' type="image/x-icon">


    <link rel="bookmark" href='../source/images/favicon.jpg' type="image/x-icon">


    <link rel="apple-touch-icon" href='../source/images/apple-touch-icon.jpg'>



    <link rel="apple-touch-icon" sizes="120x120" href="../source/images/apple-touch-icon.jpg">

    <link rel="apple-touch-icon" sizes="180x180" href="../source/images/apple-touch-icon.jpg">



    <style>
        @media only screen and (max-width: 640px) {
            .book-header .hidden-mobile {
                display: none;
            }
        }
    </style>
    <script>
        window["gitbook-plugin-github-buttons"] = { "buttons": [{ "user": "lurongtao", "repo": "felixbooks-interview", "type": "star", "size": "small", "count": true }] };
    </script>

</head>

<body>

    <div class="book">
        <div class="book-summary">


            <div id="book-search-input" role="search">
                <input type="text" placeholder="输入并搜索" />
            </div>


            <nav role="navigation">



                <ul class="summary">









                    <li class="chapter " data-level="1.1" data-path="../">

                        <a href="../">


                            前言

                        </a>



                    </li>

                    <li class="chapter " data-level="1.2" data-path="../HTML+CSS/">

                        <a href="../HTML+CSS/">


                            HTML5+CSS3

                        </a>



                    </li>

                    <li class="chapter active" data-level="1.3" data-path="./">

                        <a href="./">


                            JavaScript

                        </a>



                    </li>

                    <li class="chapter " data-level="1.4" data-path="../node/">

                        <a href="../node/">


                            Node.js

                        </a>



                    </li>

                    <li class="chapter " data-level="1.5" data-path="../vue/">

                        <a href="../vue/">


                            Vue.js

                        </a>



                    </li>

                    <li class="chapter " data-level="1.6" data-path="../react/">

                        <a href="../react/">


                            React

                        </a>



                    </li>

                    <li class="chapter " data-level="1.7" data-path="../weapp/">

                        <a href="../weapp/">


                            小程序

                        </a>



                    </li>

                    <li class="chapter " data-level="1.8" data-path="../browser/">

                        <a href="../browser/">


                            浏览器

                        </a>



                    </li>

                    <li class="chapter " data-level="1.9" data-path="../network/">

                        <a href="../network/">


                            网络

                        </a>



                    </li>

                    <li class="chapter " data-level="1.10" data-path="../engineering/">

                        <a href="../engineering/">


                            前端工程化

                        </a>



                    </li>

                    <li class="chapter " data-level="1.11" data-path="../performance/">

                        <a href="../performance/">


                            性能

                        </a>



                    </li>

                    <li class="chapter " data-level="1.12" data-path="../security/">

                        <a href="../security/">


                            安全

                        </a>



                    </li>

                    <li class="chapter " data-level="1.13" data-path="../handwritten/">

                        <a href="../handwritten/">


                            手写代码

                        </a>



                    </li>

                    <li class="chapter " data-level="1.14" data-path="../algorithm/">

                        <a href="../algorithm/">


                            高频算法

                        </a>



                    </li>

                    <li class="chapter " data-level="1.15" data-path="../others/">

                        <a href="../others/">


                            综合

                        </a>



                    </li>




                    <li class="divider"></li>



                    <li class="chapter " data-level="2.1" data-path="../thanks/">

                        <a href="../thanks/">


                            感谢

                        </a>



                    </li>




                    <li class="divider"></li>

                    <li>
                        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
                            本书使用 GitBook 发布
                        </a>
                    </li>
                </ul>


            </nav>


        </div>

        <div class="book-body">

            <div class="body-inner">



                <div class="book-header" role="navigation">


                    <!-- Title -->
                    <h1>
                        <i class="fa fa-circle-o-notch fa-spin"></i>
                        <a href="..">JavaScript</a>
                    </h1>
                </div>




                <div class="page-wrapper" tabindex="-1" role="main">
                    <div class="page-inner">

                        <div id="book-search-results">
                            <div class="search-noresults">

                                <section class="normal markdown-section">

                                    <div id="anchor-navigation-ex-navbar"><i class="fa fa-navicon"></i>
                                        <ul>
                                            <li><span class="title-icon "></span><a
                                                    href="#&#x76EE;&#x5F55;"><b></b>&#x76EE;&#x5F55;</a></li>
                                            <li><span class="title-icon "></span><a
                                                    href="#javascript&#x9762;&#x8BD5;&#x771F;&#x9898;"><b></b>JavaScript&#x9762;&#x8BD5;&#x771F;&#x9898;</a>
                                            </li>
                                            <ul>
                                                <ul>
                                                    <li><span class="title-icon "></span><a
                                                            href="#1-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;js&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><b></b>
                                                            1. &#x2605;&#x2605;
                                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;JS&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#2-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-typeof-&#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;"><b></b>
                                                            2. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B; typeof
                                                            &#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#3-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;"><b></b>
                                                            3. &#x2605;&#x2605;&#x2605;
                                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#4-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;-javascript-&#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;"><b></b>
                                                            4. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x8BF4;&#x8BF4;&#x4F60;&#x5BF9; JavaScript
                                                            &#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#5-&#x2605;&#x2605;-&#x89E3;&#x91CA;&#x4E0B;-let-&#x548C;-const-&#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;"><b></b>
                                                            5. &#x2605;&#x2605; &#x89E3;&#x91CA;&#x4E0B; let &#x548C;
                                                            const &#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#6-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;"><b></b>
                                                            6. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#7-&#x2605;&#x2605;&#x2605;-&#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;-this-&#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;"><b></b>
                                                            7. &#x2605;&#x2605;&#x2605;
                                                            &#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;
                                                            this &#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#8-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;"><b></b>
                                                            8. &#x2605;&#x2605;&#x2605;
                                                            &#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#9-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x786E;&#x5B9A;-this-&#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8;-this-&#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><b></b>
                                                            9. &#x2605;&#x2605;&#x2605; &#x5982;&#x4F55;&#x786E;&#x5B9A;
                                                            this &#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8; this
                                                            &#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#10-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684;-this"><b></b>
                                                            10. &#x2605;&#x2605;&#x2605;
                                                            &#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684;
                                                            this</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#11-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;"><b></b>
                                                            11. &#x2605;&#x2605;&#x2605;
                                                            &#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#12-&#x2605;&#x2605;&#x2605;-es5es6-&#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            12. &#x2605;&#x2605;&#x2605; ES5/ES6
                                                            &#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#13-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;"><b></b>
                                                            13. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#14-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            14. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#15-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x548C;-node-&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            15. &#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x6D4F;&#x89C8;&#x5668;&#x548C; Node
                                                            &#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#16-&#x2605;&#x2605;&#x2605;-&#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><b></b>
                                                            16. &#x2605;&#x2605;&#x2605;
                                                            &#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#17-&#x2605;&#x2605;&#x2605;-async-&#x548C;-await-&#x3001;promise&#x7684;&#x533A;&#x522B;-&#x548C;-&#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;"><b></b>
                                                            17. &#x2605;&#x2605;&#x2605; async &#x548C; await
                                                            &#x3001;promise&#x7684;&#x533A;&#x522B; &#x548C;
                                                            &#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#18-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-aync-await-&#x7684;&#x597D;&#x5904;"><b></b>
                                                            18. &#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0; aync await
                                                            &#x7684;&#x597D;&#x5904;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#19-&#x2605;&#x2605;&#x2605;-&#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6;-300ms-&#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            19. &#x2605;&#x2605;&#x2605;
                                                            &#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6;
                                                            300ms
                                                            &#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#20-&#x2605;&#x2605;&#x2605;-cookie-&#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;httponly&#xFF0C;secure&#xFF0C;expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"><b></b>
                                                            20. &#x2605;&#x2605;&#x2605; Cookie
                                                            &#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;HttpOnly&#xFF0C;Secure&#xFF0C;Expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#21-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;-add123"><b></b>
                                                            21. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;
                                                            add(1)(2)(3)</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#22-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;"><b></b>
                                                            22. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#23-&#x2605;&#x2605;-&#x5C06;-12-&#x4E0E;-34-&#x5408;&#x5E76;&#x4E3A;-1234"><b></b>
                                                            23. &#x2605;&#x2605; &#x5C06; [1,2] &#x4E0E; [3,[4]]
                                                            &#x5408;&#x5E76;&#x4E3A; [1,2,3,[4]]</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#24-&#x2605;&#x2605;-arrayforeach-&#x4E0E;-arraymap-&#x7684;&#x533A;&#x522B;&#xFF0C;arrayslice-&#x4E0E;-arraysplice-&#x7684;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            24. &#x2605;&#x2605; Array.forEach() &#x4E0E; Array.map()
                                                            &#x7684;&#x533A;&#x522B;&#xFF0C;Array.slice() &#x4E0E;
                                                            Array.splice() &#x7684;&#x533A;&#x522B;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#25-&#x2605;&#x2605;-&#x5C06;-1234567-&#x8F6C;&#x6362;&#x4E3A;-1234567"><b></b>
                                                            25. &#x2605;&#x2605; &#x5C06; 1234567
                                                            &#x8F6C;&#x6362;&#x4E3A; 1,234,567</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#26-&#x2605;&#x2605;&#x2605;-bind-&#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            26. &#x2605;&#x2605;&#x2605; bind
                                                            &#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#27-&#x2605;&#x2605;-promiseresolvepromiseresolve1thenconsolelog-&#x8F93;&#x51FA;&#xFF1F;"><b></b>
                                                            27. &#x2605;&#x2605;
                                                            Promise.resolve(Promise.resolve(1)).then(console.log)
                                                            &#x8F93;&#x51FA;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#28-&#x2605;&#x2605;&#x2605;-var-let-const&#x7684;&#x533A;&#x522B;"><b></b>
                                                            28. &#x2605;&#x2605;&#x2605; var let
                                                            const&#x7684;&#x533A;&#x522B;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#29-&#x2605;&#x2605;&#x2605;-document-load-&#x548C;-documen-ready&#x7684;&#x533A;&#x522B;"><b></b>
                                                            29. &#x2605;&#x2605;&#x2605; document load &#x548C; documen
                                                            ready&#x7684;&#x533A;&#x522B;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#30-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;"><b></b>
                                                            30. &#x2605;&#x2605;&#x2605;
                                                            &#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#31-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x7528;-settimeout-&#x6765;&#x5B9E;&#x73B0;-setinterval&#xFF1F;"><b></b>
                                                            31. &#x2605;&#x2605;&#x2605; &#x5982;&#x4F55;&#x7528;
                                                            setTImeout &#x6765;&#x5B9E;&#x73B0; setInterval&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#32-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;-user-&#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709;-a-&#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;"><b></b>
                                                            32. &#x2605;&#x2605;&#x2605;
                                                            &#x5982;&#x4F55;&#x5224;&#x65AD; user
                                                            &#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709; a
                                                            &#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#33-&#x2605;&#x2605;-&#x4F7F;&#x7528;-settimeout-&#x6A21;&#x62DF;-setinterval-&#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;"><b></b>
                                                            33. &#x2605;&#x2605; &#x4F7F;&#x7528; setTimeout
                                                            &#x6A21;&#x62DF; setInterval
                                                            &#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#34-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-add&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;"><b></b>
                                                            34. &#x2605;&#x2605;&#x2605;
                                                            &#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;
                                                            add()&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#35-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;"><b></b>
                                                            35. &#x2605;&#x2605;&#x2605;
                                                            &#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#36-&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;-function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;"><b></b>
                                                            36. &#x2605;&#x2605; &#x5199;&#x4E00;&#x4E2A;
                                                            function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#37-&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;"><b></b>
                                                            37. &#x2605;&#x2605;
                                                            &#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#38-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;"><b></b>
                                                            38. &#x2605;&#x2605;&#x2605;
                                                            &#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#39-&#x2605;&#x2605;-javascript-&#x4E2D;-callee-&#x548C;-caller-&#x7684;&#x4F5C;&#x7528;"><b></b>
                                                            39. &#x2605;&#x2605; JavaScript &#x4E2D; callee &#x548C;
                                                            caller &#x7684;&#x4F5C;&#x7528;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#40-&#x2605;&#x2605;-&#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;"><b></b>
                                                            40. &#x2605;&#x2605;
                                                            &#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#41-&#x2605;&#x2605;&#x2605;-jquery-&#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;-on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            41. &#x2605;&#x2605;&#x2605; jQuery
                                                            &#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;
                                                            on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#42-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E0B;-promise-&#x5BF9;&#x8C61;"><b></b>
                                                            42. &#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0;&#x4E0B;
                                                            Promise &#x5BF9;&#x8C61;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#43-&#x2605;&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528;-api"><b></b>
                                                            43. &#x2605;&#x2605;&#x2605;
                                                            &#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528;
                                                            api</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#44-&#x2605;&#x2605;&#x2605;-&#x7528;-javascript-&#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;"><b></b>
                                                            44. &#x2605;&#x2605;&#x2605; &#x7528; JavaScript
                                                            &#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#45-&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;"><b></b>
                                                            45. &#x2605;&#x2605;
                                                            &#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#46-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;"><b></b>
                                                            46. &#x2605;&#x2605;&#x2605;
                                                            &#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#47-&#x2605;&#x2605;&#x2605;-&#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><b></b>
                                                            47. &#x2605;&#x2605;&#x2605;
                                                            &#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#48-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;httpsfoocomid1nametom"><b></b>
                                                            48. &#x2605;&#x2605;&#x2605;
                                                            &#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;https://foo.com/?id=1&amp;name=tom</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#49-&#x2605;&#x2605;&#x2605;-&#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;-let-c--new-a&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-a-&#x8F6C;&#x4E3A;-c-b&#xFF09;"><b></b>
                                                            49. &#x2605;&#x2605;&#x2605;
                                                            &#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;
                                                            let c = new
                                                            a()&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-&gt;a
                                                            &#x8F6C;&#x4E3A; c-&gt;b&#xFF09;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#50-&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;"><b></b>
                                                            50. &#x2605;&#x2605;&#x2605;
                                                            &#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#51-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;"><b></b>
                                                            51. &#x2605;&#x2605;&#x2605;
                                                            &#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#52-&#x2605;&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;"><b></b>
                                                            52. &#x2605;&#x2605;&#x2605;
                                                            &#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#53-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x5199;&#x51FA;-es6-arrayisarray"><b></b>
                                                            53. &#x2605;&#x2605;&#x2605; &#x8BF7;&#x5199;&#x51FA; ES6
                                                            Array.isArray()</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#54-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9;-javascript-&#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;"><b></b>
                                                            54. &#x2605;&#x2605;&#x2605;
                                                            &#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;
                                                            clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9; JavaScript
                                                            &#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#55-&#x2605;&#x2605;&#x2605;-&#x5047;&#x5982;a&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;b&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;a&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;"><b></b>
                                                            55. &#x2605;&#x2605;&#x2605;
                                                            &#x5047;&#x5982;A&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;B&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;A&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#56-&#x2605;&#x2605;&#x2605;-promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay"><b></b>
                                                            56. &#x2605;&#x2605;&#x2605;
                                                            promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#57-&#x2605;&#x2605;&#x2605;-commonjs-&#x548C;-requirejs-&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;"><b></b>
                                                            57. &#x2605;&#x2605;&#x2605; CommonJS &#x548C; RequireJS
                                                            &#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#58-&#x2605;&#x2605;&#x2605;-&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            58. &#x2605;&#x2605;&#x2605;
                                                            &#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#59-&#x2605;&#x2605;&#x2605;-eval-&#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;"><b></b>
                                                            59. &#x2605;&#x2605;&#x2605; eval
                                                            &#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#60-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll-resize-&#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;"><b></b>
                                                            60. &#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll
                                                            resize
                                                            &#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#61-&#x2605;&#x2605;&#x2605;-&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;&#x548C;&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;"><b></b>
                                                            61. &#x2605;&#x2605;&#x2605;
                                                            &#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;==&#x548C;===&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#62-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4E86;&#x89E3;-es6-&#x7684;-proxy-&#x5417;&#xFF1F;"><b></b>
                                                            62. &#x2605;&#x2605;&#x2605;&#x2605; &#x4E86;&#x89E3; ES6
                                                            &#x7684; Proxy &#x5417;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#63-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;"><b></b>
                                                            63. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#64-&#x2605;&#x2605;&#x2605;-swiper-&#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css-&#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;"><b></b>
                                                            64. &#x2605;&#x2605;&#x2605; swiper
                                                            &#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css
                                                            &#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#65-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;"><b></b>
                                                            65. &#x2605;&#x2605;&#x2605;&#x2605; ES6
                                                            &#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#66-&#x2605;&#x2605;-jquery-&#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;"><b></b>
                                                            66. &#x2605;&#x2605; jQuery
                                                            &#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#67-&#x2605;&#x2605;&#x2605;-es6-class-&#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF;-function-&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            67. &#x2605;&#x2605;&#x2605; ES6 class
                                                            &#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF; function
                                                            &#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#68-&#x2605;&#x2605;&#x2605;-iframe-&#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;"><b></b>
                                                            68. &#x2605;&#x2605;&#x2605; iframe
                                                            &#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#69-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-commonjs&#x3001;amd-&#x548C;-cmd"><b></b>
                                                            69. &#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0;
                                                            commonJS&#x3001;AMD &#x548C; CMD</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#70-&#x2605;&#x2605;&#x2605;-requirejs-&#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;"><b></b>
                                                            70. &#x2605;&#x2605;&#x2605; require.js
                                                            &#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#71-&#x2605;&#x2605;-jquery&#xFF0C;-&#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;-html-&#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;-&#x4F20;-function-&#x5462;"><b></b>
                                                            71. &#x2605;&#x2605; jQuery&#xFF0C;$()
                                                            &#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;? html
                                                            &#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;? &#x4F20;
                                                            function &#x5462;?</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#72-&#x2605;&#x2605;-amd-&#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;"><b></b>
                                                            72. &#x2605;&#x2605; AMD
                                                            &#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;?</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#73-&#x2605;&#x2605;-jquery-&#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;"><b></b>
                                                            73. &#x2605;&#x2605; jQuery
                                                            &#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#74-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;"><b></b>
                                                            74. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#75-&#x2605;&#x2605;-map-&#x548C;-foreach-&#x7684;&#x533A;&#x522B;"><b></b>
                                                            75. &#x2605;&#x2605; map &#x548C; foreach
                                                            &#x7684;&#x533A;&#x522B;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#76-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x7684;&#x65B0;&#x7279;&#x6027;"><b></b>
                                                            76. &#x2605;&#x2605;&#x2605;&#x2605; ES6
                                                            &#x7684;&#x65B0;&#x7279;&#x6027;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#77-&#x2605;&#x2605;-20180101-&#x8F6C;&#x6362;&#x6210;-2018&#x5E74;1&#x6708;1&#x65E5;"><b></b>
                                                            77. &#x2605;&#x2605; 2018/01/01 &#x8F6C;&#x6362;&#x6210;
                                                            2018&#x5E74;/1&#x6708;/1&#x65E5;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#78-&#x2605;&#x2605;&#x2605;-0102-&#x7B49;&#x4E0D;&#x7B49;&#x4E8E;-03&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;"><b></b>
                                                            78. &#x2605;&#x2605;&#x2605; 0.1+0.2
                                                            &#x7B49;&#x4E0D;&#x7B49;&#x4E8E;
                                                            0.3&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#79-&#x2605;&#x2605;&#x2605;-&#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;"><b></b>
                                                            79. &#x2605;&#x2605;&#x2605;
                                                            &#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#80-&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;"><b></b>
                                                            80. &#x2605;&#x2605;&#x2605;
                                                            &#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#81-&#x2605;&#x2605;&#x2605;-super-&#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;"><b></b>
                                                            81. &#x2605;&#x2605;&#x2605; super()
                                                            &#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#82-&#x2605;&#x2605;&#x2605;-eventloop-&#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;"><b></b>
                                                            82. &#x2605;&#x2605;&#x2605; eventloop
                                                            &#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#83-&#x2605;&#x2605;&#x2605;&#x2605;-&#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;"><b></b>
                                                            83. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#84-&#x2605;&#x2605;-for-in-&#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;"><b></b>
                                                            84. &#x2605;&#x2605; for-in
                                                            &#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#85-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call-&#x548C;-apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;"><b></b>
                                                            85. &#x2605;&#x2605;&#x2605;
                                                            &#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call
                                                            &#x548C;
                                                            apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#86-&#x2605;&#x2605;-es6-&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;"><b></b>
                                                            86. &#x2605;&#x2605; ES6
                                                            &#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#87-&#x2605;&#x2605;&#x2605;-promise-&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            87. &#x2605;&#x2605;&#x2605; Promise
                                                            &#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#88-&#x2605;&#x2605;&#x2605;-&#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            88. &#x2605;&#x2605;&#x2605;
                                                            &#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#89-&#x2605;&#x2605;&#x2605;-&#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;"><b></b>
                                                            89. &#x2605;&#x2605;&#x2605;
                                                            &#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#90-&#x2605;&#x2605;-import-export-commonjs-&#x5BF9;&#x6BD4;&#x533A;&#x522B;"><b></b>
                                                            90. &#x2605;&#x2605; import export commonJS
                                                            &#x5BF9;&#x6BD4;&#x533A;&#x522B;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#91-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-javascript-&#x662F;&#x5355;&#x7EBF;&#x7A0B;"><b></b>
                                                            91. &#x2605;&#x2605; &#x4E3A;&#x4EC0;&#x4E48; JavaScript
                                                            &#x662F;&#x5355;&#x7EBF;&#x7A0B;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#92-&#x2605;&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            92. &#x2605;&#x2605;&#x2605;
                                                            &#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#93-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;-es6-&#x4E2D;&#x7684;-generator-&#x548C;-yiled-&#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;"><b></b>
                                                            93. &#x2605;&#x2605;&#x2605; &#x4F60;&#x77E5;&#x9053; ES6
                                                            &#x4E2D;&#x7684; Generator &#x548C; yiled
                                                            &#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#94-&#x2605;&#x2605;&#x2605;-cookie&#x3001;storage-&#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;"><b></b>
                                                            94. &#x2605;&#x2605;&#x2605; Cookie&#x3001;storage
                                                            &#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#95-&#x2605;&#x2605;&#x2605;-map&#x3001;fillter&#x3001;reduce-&#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"><b></b>
                                                            95. &#x2605;&#x2605;&#x2605;
                                                            map&#x3001;fillter&#x3001;reduce
                                                            &#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#96-&#x2605;&#x2605;-js&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;"><b></b>
                                                            96. &#x2605;&#x2605;
                                                            JS&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#97-&#x2605;&#x2605;&#x2605;-&#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            97. &#x2605;&#x2605;&#x2605;
                                                            &#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#98-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;"><b></b>
                                                            98. &#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                                            JS&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#99-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;"><b></b>
                                                            99. &#x2605;&#x2605;
                                                            &#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#100-&#x2605;&#x2605;&#x2605;&#x2605;--&#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><b></b>
                                                            100. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#101-&#x2605;&#x2605;-new-&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7;-new-&#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            101. &#x2605;&#x2605; new
                                                            &#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7;
                                                            new
                                                            &#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#102-&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;"><b></b>
                                                            102. &#x2605;&#x2605;
                                                            &#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#103-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;"><b></b>
                                                            103. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#104-&#x2605;&#x2605;&#x2605;-promise-&#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C;-all-&#x548C;-race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;"><b></b>
                                                            104. &#x2605;&#x2605;&#x2605; promise
                                                            &#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C; all &#x548C;
                                                            race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#105-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-es6-&#x4E2D;-set-map&#x7684;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            105. &#x2605;&#x2605;&#x2605;
                                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B; ES6 &#x4E2D; Set,
                                                            Map&#x7684;&#x533A;&#x522B;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#106-&#x2605;&#x2605;-&#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            106. &#x2605;&#x2605;
                                                            &#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#107-&#x2605;&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C;-dom-&#x6162;&#xFF1F;"><b></b>
                                                            107. &#x2605;&#x2605;&#x2605;
                                                            &#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C; dom
                                                            &#x6162;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#108-&#x2605;&#x2605;&#x2605;&#x2605;-&#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A;-dom-&#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;"><b></b>
                                                            108. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A; dom
                                                            &#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#109-&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;"><b></b>
                                                            109. &#x2605;&#x2605;&#x2605;
                                                            js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#110-&#x2605;-&#x7B80;&#x8FF0;-src-&#x548C;-href-&#x7684;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            110. &#x2605; &#x7B80;&#x8FF0; src &#x548C; href
                                                            &#x7684;&#x533A;&#x522B;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#111-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            111. &#x2605;&#x2605;&#x2605;&#x2605;
                                                            &#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#112-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;-&#x4F60;&#x80FD;&#x8BF4;&#x8BF4;-prototype-&#x4E0E;-proto-&#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;"><b></b>
                                                            112. &#x2605;&#x2605;&#x2605;
                                                            &#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;
                                                            &#x4F60;&#x80FD;&#x8BF4;&#x8BF4; prototype &#x4E0E; proto
                                                            &#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#113-&#x2605;&#x2605;&#x2605;-ts-&#x548C;-js-&#x7684;&#x533A;&#x522B;"><b></b>
                                                            113. &#x2605;&#x2605;&#x2605; ts &#x548C; js
                                                            &#x7684;&#x533A;&#x522B;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#114-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x539F;&#x751F;-js-&#x53D1;-ajax-&#x7684;&#x6B65;&#x9AA4;"><b></b>
                                                            114. &#x2605;&#x2605;&#x2605;
                                                            &#x7B80;&#x8FF0;&#x539F;&#x751F; js &#x53D1; ajax
                                                            &#x7684;&#x6B65;&#x9AA4;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#115-&#x2605;&#x2605;-&#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709;-prototype-&#x4E00;&#x8BF4;&#xFF1F;"><b></b>
                                                            115. &#x2605;&#x2605;
                                                            &#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709;
                                                            prototype &#x4E00;&#x8BF4;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#116-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-await-&#x5728;-foreach-&#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;"><b></b>
                                                            116. &#x2605;&#x2605; &#x4E3A;&#x4EC0;&#x4E48; await
                                                            &#x5728; forEach
                                                            &#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#117-&#x2605;-a-&#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528;-href-&#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;"><b></b>
                                                            117. &#x2605; a
                                                            &#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528;
                                                            href
                                                            &#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#118-&#x2605;&#x2605;-&#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;-cookies&#xFF0C;sessionstorage-&#x548C;-localstorage-&#x7684;&#x533A;&#x522B;&#xFF1F;"><b></b>
                                                            118. &#x2605;&#x2605;
                                                            &#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;
                                                            cookies&#xFF0C;sessionStorage &#x548C; localStorage
                                                            &#x7684;&#x533A;&#x522B;&#xFF1F;</a></li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#119-&#x2605;&#x2605;&#x2605;-instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><b></b>
                                                            119. &#x2605;&#x2605;&#x2605;
                                                            instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                                    </li>
                                                    <li><span class="title-icon "></span><a
                                                            href="#120-&#x2605;&#x2605;&#x2605;-&#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;-javascript-&#x7EE7;&#x627F;"><b></b>
                                                            120. &#x2605;&#x2605;&#x2605;
                                                            &#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;
                                                            JavaScript &#x7EE7;&#x627F;</a></li>
                                                </ul>
                                            </ul>
                                        </ul>
                                    </div><a href="#&#x76EE;&#x5F55;" id="anchorNavigationExGoTop"><i
                                            class="fa fa-arrow-up"></i></a>
                                    <h1 id="&#x76EE;&#x5F55;"><a name="&#x76EE;&#x5F55;"
                                            class="anchor-navigation-ex-anchor" href="#&#x76EE;&#x5F55;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a name="&#x76EE;&#x5F55;"
                                            class="plugin-anchor" href="#&#x76EE;&#x5F55;"><i class="fa fa-link"
                                                aria-hidden="true"></i></a>&#x76EE;&#x5F55;</h1>
                                    <p><a href="#js-1">&#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;JS&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-2">&#x2605;&#x2605;&#x2605;&#x2605; &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;
                                            typeof &#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;</a></p>
                                    <p><a href="#js-3">&#x2605;&#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;</a></p>
                                    <p><a href="#js-4">&#x2605;&#x2605;&#x2605;&#x2605; &#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;
                                            JavaScript
                                            &#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-5">&#x2605;&#x2605; &#x89E3;&#x91CA;&#x4E0B; let &#x548C; const
                                            &#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;</a></p>
                                    <p><a href="#js-6">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;
                                        </a></p>
                                    <p><a href="#js-7">&#x2605;&#x2605;&#x2605;
                                            &#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;
                                            this &#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;</a></p>
                                    <p><a href="#js-8">&#x2605;&#x2605;&#x2605;
                                            &#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;
                                        </a></p>
                                    <p><a href="#js-9">&#x2605;&#x2605;&#x2605; &#x5982;&#x4F55;&#x786E;&#x5B9A; this
                                            &#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8; this
                                            &#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-10">&#x2605;&#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684; this</a></p>
                                    <p><a href="#js-11">&#x2605;&#x2605;&#x2605;
                                            &#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;</a>
                                    </p>
                                    <p><a href="#js-12">&#x2605;&#x2605;&#x2605; ES5/ES6
                                            &#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-13">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;&#xFF01;</a>
                                    </p>
                                    <p><a href="#js-14">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-15">&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x6D4F;&#x89C8;&#x5668;&#x548C; Node
                                            &#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;</a></p>
                                    <p><a href="#js-16">&#x2605;&#x2605;&#x2605;
                                            &#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-17">&#x2605;&#x2605;&#x2605; async &#x548C; await
                                            &#x3001;promise&#x7684;&#x533A;&#x522B; &#x548C;
                                            &#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;</a></p>
                                    <p><a href="#js-18">&#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0; aync await
                                            &#x7684;&#x597D;&#x5904;</a></p>
                                    <p><a href="#js-19">&#x2605;&#x2605;&#x2605;
                                            &#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6; 300ms
                                            &#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-20">&#x2605;&#x2605;&#x2605; Cookie
                                            &#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;HttpOnly&#xFF0C;Secure&#xFF0C;Expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-21">&#x2605;&#x2605;&#x2605;
                                            &#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0; JavaScript
                                            &#x7EE7;&#x627F;&#x3002;</a></p>
                                    <p><a href="#js-21">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;
                                            add(1)(2)(3)</a></p>
                                    <p><a href="#js-22">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;</a></p>
                                    <p><a href="#js-23">&#x2605;&#x2605; &#x5C06; [1,2] &#x4E0E; [3,[4]]
                                            &#x5408;&#x5E76;&#x4E3A; [1,2,3,[4]]</a></p>
                                    <p><a href="#js-24">&#x2605;&#x2605; Array.forEach() &#x4E0E; Array.map()
                                            &#x7684;&#x533A;&#x522B;&#xFF0C;Array.slice() &#x4E0E; Array.splice()
                                            &#x7684;&#x533A;&#x522B;&#xFF1F;</a></p>
                                    <p><a href="#js-25">&#x2605;&#x2605; &#x5C06; 1234567 &#x8F6C;&#x6362;&#x4E3A;
                                            1,234,567</a></p>
                                    <p><a href="#js-26">&#x2605;&#x2605;&#x2605; bind
                                            &#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a></p>
                                    <p><a href="#js-27">&#x2605;&#x2605;
                                            Promise.resolve(Promise.resolve(1)).then(console.log)
                                            &#x8F93;&#x51FA;&#xFF1F;</a></p>
                                    <p><a href="#js-28">&#x2605;&#x2605;&#x2605; var let
                                            const&#x7684;&#x533A;&#x522B;</a></p>
                                    <p><a href="#js-29">&#x2605;&#x2605;&#x2605; document load &#x548C; documen
                                            ready&#x7684;&#x533A;&#x522B;</a></p>
                                    <p><a href="#js-30">&#x2605;&#x2605;&#x2605;
                                            &#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;</a></p>
                                    <p><a href="#js-31">&#x2605;&#x2605;&#x2605; &#x5982;&#x4F55;&#x7528; setTImeout
                                            &#x6765;&#x5B9E;&#x73B0; setInterval&#xFF1F;</a></p>
                                    <p><a href="#js-32">&#x2605;&#x2605;&#x2605; &#x5982;&#x4F55;&#x5224;&#x65AD; user
                                            &#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709; a
                                            &#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;<code>(var user = {&apos;a&apos;: &apos;19&apos;, &apos;b&apos;: &apos;18&apos;, &apos;c&apos;: &apos;16&apos;})</code></a>
                                    </p>
                                    <p><a href="#js-33">&#x2605;&#x2605; &#x4F7F;&#x7528; setTimeout &#x6A21;&#x62DF;
                                            setInterval
                                            &#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;</a>
                                    </p>
                                    <p><a href="#js-34">&#x2605;&#x2605;&#x2605;
                                            &#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;
                                            add()&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;</a>
                                    </p>
                                    <pre><code class="lang-js">add(<span class="hljs-number">1</span>)(<span class="hljs-number">2</span>) <span class="hljs-comment">//3</span>
add(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>)(<span class="hljs-number">10</span>) <span class="hljs-comment">//16</span>
add(<span class="hljs-number">1</span>)(<span class="hljs-number">2</span>)(<span class="hljs-number">3</span>,<span class="hljs-number">4</span>)(<span class="hljs-number">5</span>) <span class="hljs-comment">//15</span>
</code></pre>
                                    <p><a href="#js-35">&#x2605;&#x2605;&#x2605;
                                            &#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-36">&#x2605;&#x2605; &#x5199;&#x4E00;&#x4E2A;
                                            function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;</a>
                                    </p>
                                    <p><a href="#js-37">&#x2605;&#x2605;
                                            &#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;&#x3002;</a>
                                    </p>
                                    <p><a href="#js-38">&#x2605;&#x2605;&#x2605;
                                            &#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;</a>
                                    </p>
                                    <p><a href="#js-39">&#x2605;&#x2605; JavaScript &#x4E2D; callee &#x548C; caller
                                            &#x7684;&#x4F5C;&#x7528;</a></p>
                                    <p><a href="#js-40">&#x2605;&#x2605;
                                            &#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;&#x3002;</a>
                                    </p>
                                    <p><a href="#js-41">&#x2605;&#x2605;&#x2605; jQuery
                                            &#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;
                                            on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-42">&#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0;&#x4E0B; Promise
                                            &#x5BF9;&#x8C61;</a></p>
                                    <p><a href="#js-43">&#x2605;&#x2605;&#x2605;
                                            &#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528; api</a></p>
                                    <p><a href="#js-44">&#x2605;&#x2605;&#x2605; &#x7528; JavaScript
                                            &#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;</a></p>
                                    <p><a href="#js-45">&#x2605;&#x2605;
                                            &#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;</a>
                                    </p>
                                    <p><a href="#js-46">&#x2605;&#x2605;&#x2605;
                                            &#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;</a>
                                    </p>
                                    <p><a href="#js-47">&#x2605;&#x2605;&#x2605;
                                            &#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-48">&#x2605;&#x2605;&#x2605;
                                            &#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;https://foo.com/?id=1&amp;name=tom</a>
                                    </p>
                                    <p><a href="#js-49">&#x2605;&#x2605;&#x2605;
                                            &#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;
                                            let c = new
                                            a()&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-&gt;a
                                            &#x8F6C;&#x4E3A; c-&gt;b&#xFF09;</a></p>
                                    <p><a href="#js-50">&#x2605;&#x2605;&#x2605;
                                            &#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;</a>
                                    </p>
                                    <p><a href="#js-51">&#x2605;&#x2605;&#x2605;
                                            &#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;</a>
                                    </p>
                                    <p><a href="#js-52">&#x2605;&#x2605;&#x2605;
                                            &#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;&#x3002;</a>
                                    </p>
                                    <p><a href="#js-53">&#x2605;&#x2605;&#x2605; &#x8BF7;&#x5199;&#x51FA; ES6
                                            Array.isArray() </a></p>
                                    <p><a href="#js-54">&#x2605;&#x2605;&#x2605;
                                            &#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;
                                            clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9; JavaScript
                                            &#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;&#x3002;</a>
                                    </p>
                                    <p><a href="#js-55">&#x2605;&#x2605;&#x2605;
                                            &#x5047;&#x5982;A&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;B&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;A&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;</a>
                                    </p>
                                    <p><a href="#js-56">&#x2605;&#x2605;&#x2605;
                                            promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay
                                        </a></p>
                                    <p><a href="#js-57">&#x2605;&#x2605;&#x2605; CommonJS &#x548C; RequireJS
                                            &#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;</a></p>
                                    <p><a href="#js-58">&#x2605;&#x2605;&#x2605;
                                            &#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-59">&#x2605;&#x2605;&#x2605; eval
                                            &#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-60">&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll
                                            resize
                                            &#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;&#x3002;</a>
                                    </p>
                                    <p><a href="#js-61">&#x2605;&#x2605;&#x2605;
                                            &#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;==&#x548C;===&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;</a>
                                    </p>
                                    <p><a href="#js-62">&#x2605;&#x2605;&#x2605;&#x2605; &#x4E86;&#x89E3; ES6 &#x7684;
                                            Proxy &#x5417;&#xFF1F;</a></p>
                                    <p><a href="#js-63">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-64">&#x2605;&#x2605;&#x2605; swiper
                                            &#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css
                                            &#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-65">&#x2605;&#x2605;&#x2605;&#x2605; ES6
                                            &#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;</a>
                                    </p>
                                    <p><a href="#js-66">&#x2605;&#x2605; jQuery
                                            &#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;</a></p>
                                    <p><a href="#js-67">&#x2605;&#x2605;&#x2605; ES6 class
                                            &#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF; function
                                            &#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</a></p>
                                    <p><a href="#js-68">&#x2605;&#x2605;&#x2605; iframe
                                            &#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-69">&#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0; commonJS&#x3001;AMD
                                            &#x548C; CMD</a></p>
                                    <p><a href="#js-70">&#x2605;&#x2605;&#x2605; require.js
                                            &#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;</a>
                                    </p>
                                    <p><a href="#js-71">&#x2605;&#x2605; jQuery&#xFF0C;$()
                                            &#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;? html
                                            &#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;? &#x4F20; function
                                            &#x5462;?</a></p>
                                    <p><a href="#js-72">&#x2605;&#x2605; AMD
                                            &#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;?</a></p>
                                    <p><a href="#js-73">&#x2605;&#x2605; jQuery
                                            &#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;</a>
                                    </p>
                                    <p><a href="#js-74">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;</a></p>
                                    <p><a href="#js-75">&#x2605;&#x2605; map &#x548C; foreach
                                            &#x7684;&#x533A;&#x522B;</a></p>
                                    <p><a href="#js-76">&#x2605;&#x2605;&#x2605;&#x2605; ES6
                                            &#x7684;&#x65B0;&#x7279;&#x6027;</a></p>
                                    <p><a href="#js-77">&#x2605;&#x2605; 2018/01/01 &#x8F6C;&#x6362;&#x6210;
                                            2018&#x5E74;/1&#x6708;/1&#x65E5;</a></p>
                                    <p><a href="#js-78">&#x2605;&#x2605;&#x2605; 0.1+0.2
                                            &#x7B49;&#x4E0D;&#x7B49;&#x4E8E;
                                            0.3&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;</a>
                                    </p>
                                    <p><a href="#js-79">&#x2605;&#x2605;&#x2605;
                                            &#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-80">&#x2605;&#x2605;&#x2605;
                                            &#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-81">&#x2605;&#x2605;&#x2605; super()
                                            &#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-82">&#x2605;&#x2605;&#x2605; eventloop
                                            &#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;</a></p>
                                    <p><a href="#js-83">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-84">&#x2605;&#x2605; for-in
                                            &#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;</a>
                                    </p>
                                    <p><a href="#js-85">&#x2605;&#x2605;&#x2605;
                                            &#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call &#x548C;
                                            apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;</a></p>
                                    <p><a href="#js-86">&#x2605;&#x2605; ES6
                                            &#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-87">&#x2605;&#x2605;&#x2605; Promise
                                            &#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-88">&#x2605;&#x2605;&#x2605;
                                            &#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-89">&#x2605;&#x2605;&#x2605;
                                            &#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;</a>
                                    </p>
                                    <p><a href="#js-90">&#x2605;&#x2605; import export commonJS
                                            &#x5BF9;&#x6BD4;&#x533A;&#x522B;</a></p>
                                    <p><a href="#js-91">&#x2605;&#x2605; &#x4E3A;&#x4EC0;&#x4E48; JavaScript
                                            &#x662F;&#x5355;&#x7EBF;&#x7A0B;</a></p>
                                    <p><a href="#js-92">&#x2605;&#x2605;&#x2605;
                                            &#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-93">&#x2605;&#x2605;&#x2605; &#x4F60;&#x77E5;&#x9053; ES6
                                            &#x4E2D;&#x7684; Generator &#x548C; yiled
                                            &#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-94">&#x2605;&#x2605;&#x2605; Cookie&#x3001;storage
                                            &#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-95">&#x2605;&#x2605;&#x2605; map&#x3001;fillter&#x3001;reduce
                                            &#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;</a></p>
                                    <p><a href="#js-96">&#x2605;&#x2605;
                                            JS&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-97">&#x2605;&#x2605;&#x2605;
                                            &#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-98">&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                            JS&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-99">&#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;</a>
                                    </p>
                                    <p><a href="#js-100">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-101">&#x2605;&#x2605; new
                                            &#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7; new
                                            &#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-102">&#x2605;&#x2605;
                                            &#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;</a></p>
                                    <p><a href="#js-103">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;</a></p>
                                    <p><a href="#js-104">&#x2605;&#x2605;&#x2605; promise
                                            &#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C; all &#x548C;
                                            race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F; </a></p>
                                    <p><a href="#js-105">&#x2605;&#x2605;&#x2605; &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B; ES6
                                            &#x4E2D; Set, Map&#x7684;&#x533A;&#x522B;&#xFF1F;</a></p>
                                    <p><a href="#js-106">&#x2605;&#x2605;
                                            &#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-107">&#x2605;&#x2605;&#x2605;
                                            &#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C; dom &#x6162;&#xFF1F;</a></p>
                                    <p><a href="#js-108">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A; dom
                                            &#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-109">&#x2605;&#x2605;&#x2605;
                                            js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;</a>
                                    </p>
                                    <p><a href="#js-110">&#x2605; &#x7B80;&#x8FF0; src &#x548C; href
                                            &#x7684;&#x533A;&#x522B;&#xFF1F;</a></p>
                                    <p><a href="#js-111">&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-112">&#x2605;&#x2605;&#x2605;
                                            &#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;
                                            &#x4F60;&#x80FD;&#x8BF4;&#x8BF4; prototype &#x4E0E; <strong>proto</strong>
                                            &#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;</a></p>
                                    <p><a href="#js-113">&#x2605;&#x2605;&#x2605; ts &#x548C; js
                                            &#x7684;&#x533A;&#x522B;</a></p>
                                    <p><a href="#js-114">&#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0;&#x539F;&#x751F; js
                                            &#x53D1; ajax &#x7684;&#x6B65;&#x9AA4;</a></p>
                                    <p><a href="#js-115">&#x2605;&#x2605;
                                            &#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709; prototype
                                            &#x4E00;&#x8BF4;&#xFF1F;</a></p>
                                    <p><a href="#js-116">&#x2605;&#x2605; &#x4E3A;&#x4EC0;&#x4E48; await &#x5728;
                                            forEach
                                            &#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-117">&#x2605; a
                                            &#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528; href
                                            &#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;</a>
                                    </p>
                                    <p><a href="#js-118">&#x2605;&#x2605; &#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;
                                            cookies&#xFF0C;sessionStorage &#x548C; localStorage
                                            &#x7684;&#x533A;&#x522B;&#xFF1F;</a></p>
                                    <p><a href="#js-119">&#x2605;&#x2605;&#x2605;
                                            instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</a></p>
                                    <h1 id="javascript&#x9762;&#x8BD5;&#x771F;&#x9898;"><a
                                            name="javascript&#x9762;&#x8BD5;&#x771F;&#x9898;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#javascript&#x9762;&#x8BD5;&#x771F;&#x9898;"><i class="fa fa-link"
                                                aria-hidden="true"></i></a><a
                                            name="javascript&#x9762;&#x8BD5;&#x771F;&#x9898;" class="plugin-anchor"
                                            href="#javascript&#x9762;&#x8BD5;&#x771F;&#x9898;"><i class="fa fa-link"
                                                aria-hidden="true"></i></a>JavaScript&#x9762;&#x8BD5;&#x771F;&#x9898;
                                    </h1>
                                    <h3
                                        id="1-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;js&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;">
                                        <a name="1-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;js&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#1-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;js&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="1-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;js&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#1-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;js&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-1"> 1. &#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;JS&#x7684;&#x5185;&#x7F6E;&#x7C7B;&#x578B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x7A7A;&#x7C7B;&#x578B;:<span class="hljs-literal">null</span>
<span class="hljs-number">2.</span> &#x672A;&#x5B9A;&#x4E49;:<span class="hljs-literal">undefined</span>
<span class="hljs-number">3.</span> &#x5E03;&#x5C14;:boolean
<span class="hljs-number">4.</span> &#x6570;&#x5B57;:number
<span class="hljs-number">5.</span> &#x5B57;&#x7B26;&#x4E32;:string
<span class="hljs-number">6.</span> &#x7B26;&#x53F7;:symbol(ES6&#x65B0;&#x589E;)
<span class="hljs-number">7.</span> &#x5BF9;&#x8C61;:object
&#x9664;&#x4E86;&#x5BF9;&#x8C61;&#x4E4B;&#x5916;,&#x5176;&#x4ED6;&#x4E3A;&#x57FA;&#x672C;&#x7C7B;&#x578B;.
</code></pre>
                                    <h3
                                        id="2-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-typeof-&#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;">
                                        <a name="2-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-typeof-&#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#2-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-typeof-&#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="2-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-typeof-&#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;"
                                            class="plugin-anchor"
                                            href="#2-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-typeof-&#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-2"> 2. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B; typeof
                                            &#x533A;&#x5206;&#x7C7B;&#x578B;&#x7684;&#x539F;&#x7406;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-keyword">typeof</span>&#x539F;&#x7406;&#xFF1A; &#x4E0D;&#x540C;&#x7684;&#x5BF9;&#x8C61;&#x5728;&#x5E95;&#x5C42;&#x90FD;&#x8868;&#x793A;&#x4E3A;&#x4E8C;&#x8FDB;&#x5236;&#xFF0C;&#x5728;Javascript&#x4E2D;&#x4E8C;&#x8FDB;&#x5236;&#x524D;&#xFF08;&#x4F4E;&#xFF09;&#x4E09;&#x4F4D;&#x5B58;&#x50A8;&#x5176;&#x7C7B;&#x578B;&#x4FE1;&#x606F;&#x3002;

<span class="hljs-number">000</span>: &#x5BF9;&#x8C61;
<span class="hljs-number">010</span>: &#x6D6E;&#x70B9;&#x6570;
<span class="hljs-number">100</span>:&#x5B57;&#x7B26;&#x4E32;
<span class="hljs-number">110</span>: &#x5E03;&#x5C14;
<span class="hljs-number">1</span>: &#x6574;&#x6570;
<span class="hljs-comment">/*----------------------------------------------*/</span>
<span class="hljs-keyword">typeof</span> <span class="hljs-literal">null</span> &#x4E3A;<span class="hljs-string">&quot;object&quot;</span>, &#x539F;&#x56E0;&#x662F;&#x56E0;&#x4E3A; &#x4E0D;&#x540C;&#x7684;&#x5BF9;&#x8C61;&#x5728;&#x5E95;&#x5C42;&#x90FD;&#x8868;&#x793A;&#x4E3A;&#x4E8C;&#x8FDB;&#x5236;&#xFF0C;&#x5728;Javascript&#x4E2D;&#x4E8C;&#x8FDB;&#x5236;&#x524D;&#xFF08;&#x4F4E;&#xFF09;&#x4E09;&#x4F4D;&#x90FD;&#x4E3A;<span class="hljs-number">0</span>&#x7684;&#x8BDD;&#x4F1A;&#x88AB;&#x5224;&#x65AD;&#x4E3A;<span class="hljs-built_in">Object</span>&#x7C7B;&#x578B;&#xFF0C;<span class="hljs-literal">null</span>&#x7684;&#x4E8C;&#x8FDB;&#x5236;&#x8868;&#x793A;&#x5168;&#x4E3A;<span class="hljs-number">0</span>&#xFF0C;&#x81EA;&#x7136;&#x524D;&#x4E09;&#x4F4D;&#x4E5F;&#x662F;<span class="hljs-number">0</span>&#xFF0C;&#x6240;&#x4EE5;&#x6267;&#x884C;<span class="hljs-keyword">typeof</span>&#x65F6;&#x4F1A;&#x8FD4;&#x56DE;<span class="hljs-string">&quot;object&quot;</span>
</code></pre>
                                    <h3
                                        id="3-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;">
                                        <a name="3-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#3-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="3-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;"
                                            class="plugin-anchor"
                                            href="#3-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-3"> 3. &#x2605;&#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x7C7B;&#x578B;&#x8F6C;&#x6362;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">/*-------------------&#x663E;&#x5F0F;&#x8F6C;&#x6362;---------------------*/</span>
<span class="hljs-number">1.</span> toString()      <span class="hljs-comment">// &#x8F6C;&#x5316;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x4E0D;&#x53EF;&#x4EE5;&#x8F6C;null&#x548C;underfined</span>
<span class="hljs-number">2.</span> <span class="hljs-built_in">Number</span>()     <span class="hljs-comment">// &#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x6709;&#x4E00;&#x4E2A;&#x4E0D;&#x662F;&#x6570;&#x503C;&#x7684;&#x5B57;&#x7B26;&#xFF0C;&#x8FD4;&#x56DE;NaN</span>
<span class="hljs-number">3.</span> <span class="hljs-built_in">parseInt</span>()    <span class="hljs-comment">// &#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x7B2C;&#x4E00;&#x4E2A;&#x5B57;&#x7B26;&#x4E0D;&#x662F;&#x6570;&#x5B57;&#x6216;&#x8005;&#x7B26;&#x53F7;&#x5C31;&#x8FD4;&#x56DE;NaN</span>
<span class="hljs-number">4.</span> <span class="hljs-built_in">String</span>()     <span class="hljs-comment">// &#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&#xFF0C; </span>
<span class="hljs-number">5.</span> <span class="hljs-built_in">Boolean</span>()     <span class="hljs-comment">// &#x8F6C;&#x6362;&#x4E3A;&#x5E03;&#x5C14;&#x503C;</span>
<span class="hljs-comment">/*-------------------&#x9690;&#x5F0F;&#x8F6C;&#x6362;(+-)---------------------*/</span>
&#x5F53; JavaScript &#x5C1D;&#x8BD5;&#x64CD;&#x4F5C;&#x4E00;&#x4E2A; <span class="hljs-string">&quot;&#x9519;&#x8BEF;&quot;</span> &#x7684;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x65F6;&#xFF0C;&#x4F1A;&#x81EA;&#x52A8;&#x8F6C;&#x6362;&#x4E3A; <span class="hljs-string">&quot;&#x6B63;&#x786E;&quot;</span> &#x7684;&#x6570;&#x636E;&#x7C7B;&#x578B;
<span class="hljs-number">1.</span> num  +  <span class="hljs-string">&quot;&quot;</span>  -&gt; <span class="hljs-built_in">String</span>
<span class="hljs-number">2.</span> num + bool -&gt; num
<span class="hljs-comment">// &#x5F53;&#x52A0;&#x53F7;&#x8FD0;&#x7B97;&#x7B26;&#x65F6;&#xFF0C;String&#x548C;&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x65F6;&#xFF0C;&#x5176;&#x4ED6;&#x7C7B;&#x578B;&#x90FD;&#x4F1A;&#x8F6C;&#x4E3A; String&#xFF1B;&#x5176;&#x4ED6;&#x60C5;&#x51B5;&#xFF0C;&#x90FD;&#x8F6C;&#x5316;&#x4E3A;Number&#x7C7B;&#x578B;</span>

<span class="hljs-number">3.</span> string - num -&gt; num
<span class="hljs-comment">// &#x5176;&#x4ED6;&#x8FD0;&#x7B97;&#x7B26;&#x65F6;&#xFF0C; &#x57FA;&#x672C;&#x7C7B;&#x578B;&#x90FD;&#x8F6C;&#x6362;&#x4E3A; Number&#xFF0C;String&#x7C7B;&#x578B;&#x7684;&#x5E26;&#x6709;&#x5B57;&#x7B26;&#x7684;&#x6BD4;&#x5982;&#xFF1A; </span>
<span class="hljs-number">4.</span> <span class="hljs-string">&apos;a1&apos;</span> - num -&gt; <span class="hljs-literal">NaN</span>
<span class="hljs-comment">// &#x4E0E;undefined &#x4E00;&#x6837;&#x3002;</span>

<span class="hljs-comment">/*-------------------&#x9690;&#x5F0F;&#x8F6C;&#x6362;(&#x903B;&#x8F91;&#x8868;&#x8FBE;&#x5F0F;)---------------------*/</span>

<span class="hljs-number">1.</span> &#x5BF9;&#x8C61;&#x548C;&#x5E03;&#x5C14;&#x503C;&#x6BD4;&#x8F83;
&#x5BF9;&#x8C61;&#x548C;&#x5E03;&#x5C14;&#x503C;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x65F6;&#xFF0C;&#x5BF9;&#x8C61;&#x5148;&#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x7136;&#x540E;&#x518D;&#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x5E03;&#x5C14;&#x503C;&#x76F4;&#x63A5;&#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;
[] == <span class="hljs-literal">true</span>;  <span class="hljs-comment">//false  []&#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&apos;&apos;,&#x7136;&#x540E;&#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;0,true&#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;1&#xFF0C;&#x6240;&#x4EE5;&#x4E3A;false</span>
<span class="hljs-number">2.</span> &#x5BF9;&#x8C61;&#x548C;&#x5B57;&#x7B26;&#x4E32;&#x6BD4;&#x8F83;
&#x5BF9;&#x8C61;&#x548C;&#x5B57;&#x7B26;&#x4E32;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x65F6;&#xFF0C;&#x5BF9;&#x8C61;&#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x7136;&#x540E;&#x4E24;&#x8005;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x3002;
[<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>] == <span class="hljs-string">&apos;1,2,3&apos;</span> <span class="hljs-comment">// true  [1,2,3]&#x8F6C;&#x5316;&#x4E3A;&apos;1,2,3&apos;&#xFF0C;&#x7136;&#x540E;&#x548C;&apos;1,2,3&apos;&#xFF0C; so&#x7ED3;&#x679C;&#x4E3A;true;</span>
<span class="hljs-number">3.</span> &#x5BF9;&#x8C61;&#x548C;&#x6570;&#x5B57;&#x6BD4;&#x8F83;
&#x5BF9;&#x8C61;&#x548C;&#x6570;&#x5B57;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x65F6;&#xFF0C;&#x5BF9;&#x8C61;&#x5148;&#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x7136;&#x540E;&#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x518D;&#x548C;&#x6570;&#x5B57;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x3002;
[<span class="hljs-number">1</span>] == <span class="hljs-number">1</span>;  <span class="hljs-comment">// true  `&#x5BF9;&#x8C61;&#x5148;&#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&#x518D;&#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x4E8C;&#x8005;&#x518D;&#x6BD4;&#x8F83; [1] =&gt; &apos;1&apos; =&gt; 1 &#x6240;&#x4EE5;&#x7ED3;&#x679C;&#x4E3A;true</span>
<span class="hljs-number">4.</span> &#x5B57;&#x7B26;&#x4E32;&#x548C;&#x6570;&#x5B57;&#x6BD4;&#x8F83;
&#x5B57;&#x7B26;&#x4E32;&#x548C;&#x6570;&#x5B57;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x65F6;&#xFF0C;&#x5B57;&#x7B26;&#x4E32;&#x8F6C;&#x6362;&#x6210;&#x6570;&#x5B57;&#xFF0C;&#x4E8C;&#x8005;&#x518D;&#x6BD4;&#x8F83;&#x3002;
<span class="hljs-string">&apos;1&apos;</span> == <span class="hljs-number">1</span> <span class="hljs-comment">// true</span>
<span class="hljs-number">5.</span> &#x5B57;&#x7B26;&#x4E32;&#x548C;&#x5E03;&#x5C14;&#x503C;&#x6BD4;&#x8F83;
&#x5B57;&#x7B26;&#x4E32;&#x548C;&#x5E03;&#x5C14;&#x503C;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x65F6;&#xFF0C;&#x4E8C;&#x8005;&#x5168;&#x90E8;&#x8F6C;&#x6362;&#x6210;&#x6570;&#x503C;&#x518D;&#x6BD4;&#x8F83;&#x3002;
<span class="hljs-string">&apos;1&apos;</span> == <span class="hljs-literal">true</span>; <span class="hljs-comment">// true </span>
<span class="hljs-number">6.</span> &#x5E03;&#x5C14;&#x503C;&#x548C;&#x6570;&#x5B57;&#x6BD4;&#x8F83;
&#x5E03;&#x5C14;&#x503C;&#x548C;&#x6570;&#x5B57;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x65F6;&#xFF0C;&#x5E03;&#x5C14;&#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x4E8C;&#x8005;&#x6BD4;&#x8F83;&#x3002;
<span class="hljs-literal">true</span> == <span class="hljs-number">1</span> <span class="hljs-comment">// true</span>
</code></pre>
                                    <h3
                                        id="4-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;-javascript-&#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;">
                                        <a name="4-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;-javascript-&#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#4-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;-javascript-&#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="4-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;-javascript-&#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#4-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;-javascript-&#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-4"> 4. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x8BF4;&#x8BF4;&#x4F60;&#x5BF9; JavaScript
                                            &#x7684;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x7406;&#x89E3;&#x3002;&#x4EC0;&#x4E48;&#x662F;&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x5728; JavaScript &#x4E2D;&#x6709;&#x4E24;&#x79CD;&#x4F5C;&#x7528;&#x57DF;&#x7C7B;&#x578B;&#xFF1A;

<span class="hljs-number">1.</span> &#x5C40;&#x90E8;&#x4F5C;&#x7528;&#x57DF;:&#x53EA;&#x80FD;&#x5728;&#x51FD;&#x6570;&#x5185;&#x90E8;&#x8BBF;&#x95EE;&#x5B83;&#x4EEC;
<span class="hljs-number">2.</span> &#x5168;&#x5C40;&#x4F5C;&#x7528;&#x57DF;:&#x7F51;&#x9875;&#x7684;&#x6240;&#x6709;&#x811A;&#x672C;&#x548C;&#x51FD;&#x6570;&#x90FD;&#x80FD;&#x591F;&#x8BBF;&#x95EE;&#x5B83;
JavaScript &#x62E5;&#x6709;&#x51FD;&#x6570;&#x4F5C;&#x7528;&#x57DF;&#xFF1A;&#x6BCF;&#x4E2A;&#x51FD;&#x6570;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x4F5C;&#x7528;&#x57DF;&#x3002;

&#x4F5C;&#x7528;&#x57DF;&#x51B3;&#x5B9A;&#x4E86;&#x8FD9;&#x4E9B;&#x53D8;&#x91CF;&#x7684;&#x53EF;&#x8BBF;&#x95EE;&#x6027;&#xFF08;&#x53EF;&#x89C1;&#x6027;&#xFF09;&#x3002;

&#x51FD;&#x6570;&#x5185;&#x90E8;&#x5B9A;&#x4E49;&#x7684;&#x53D8;&#x91CF;&#x4ECE;&#x51FD;&#x6570;&#x5916;&#x90E8;&#x662F;&#x4E0D;&#x53EF;&#x8BBF;&#x95EE;&#x7684;&#xFF08;&#x4E0D;&#x53EF;&#x89C1;&#x7684;&#xFF09;&#x3002;

&#x4F5C;&#x7528;&#x57DF;&#x94FE;&#xFF1A;
&#x5F53;&#x67E5;&#x627E;&#x53D8;&#x91CF;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4F1A;&#x5148;&#x4ECE;&#x5F53;&#x524D;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x53D8;&#x91CF;&#x5BF9;&#x8C61;&#x4E2D;&#x67E5;&#x627E;&#xFF0C;
&#x5982;&#x679C;&#x6CA1;&#x6709;&#x627E;&#x5230;&#xFF0C;&#x5C31;&#x4F1A;&#x4ECE;&#x7236;&#x7EA7;(&#x8BCD;&#x6CD5;&#x5C42;&#x9762;&#x4E0A;&#x7684;&#x7236;&#x7EA7;)&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x53D8;&#x91CF;&#x5BF9;&#x8C61;&#x4E2D;&#x67E5;&#x627E;&#xFF0C;&#x4E00;&#x76F4;&#x627E;&#x5230;&#x5168;&#x5C40;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x53D8;&#x91CF;&#x5BF9;&#x8C61;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x5168;&#x5C40;&#x5BF9;&#x8C61;&#x3002;
&#x8FD9;&#x6837;&#x7531;&#x591A;&#x4E2A;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x53D8;&#x91CF;&#x5BF9;&#x8C61;&#x6784;&#x6210;&#x7684;&#x94FE;&#x8868;&#x5C31;&#x53EB;&#x505A;&#x4F5C;&#x7528;&#x57DF;&#x94FE;
</code></pre>
                                    <h3
                                        id="5-&#x2605;&#x2605;-&#x89E3;&#x91CA;&#x4E0B;-let-&#x548C;-const-&#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;">
                                        <a name="5-&#x2605;&#x2605;-&#x89E3;&#x91CA;&#x4E0B;-let-&#x548C;-const-&#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#5-&#x2605;&#x2605;-&#x89E3;&#x91CA;&#x4E0B;-let-&#x548C;-const-&#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="5-&#x2605;&#x2605;-&#x89E3;&#x91CA;&#x4E0B;-let-&#x548C;-const-&#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;"
                                            class="plugin-anchor"
                                            href="#5-&#x2605;&#x2605;-&#x89E3;&#x91CA;&#x4E0B;-let-&#x548C;-const-&#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-5"> 5. &#x2605;&#x2605; &#x89E3;&#x91CA;&#x4E0B; let &#x548C; const
                                            &#x7684;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">/*------------let-----------*/</span>
<span class="hljs-number">1.</span> <span class="hljs-keyword">let</span>&#x58F0;&#x660E;&#x7684;&#x4EC5;&#x5728;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;&#x5185;&#x6709;&#x6548;&#xFF0C;
<span class="hljs-number">2.</span> <span class="hljs-keyword">let</span>&#x4E0D;&#x4F1A;&#x53D1;&#x751F;&#x53D8;&#x91CF;&#x63D0;&#x5347;&#x7684;&#x73B0;&#x8C61;&#xFF0C;&#x6240;&#x4EE5;&#x4E00;&#x5B9A;&#x8981;&#x5728;&#x5B9A;&#x4E49;&#x540E;&#x4F7F;&#x7528;&#xFF0C;&#x5426;&#x5219;&#x62A5;&#x9519;&#x3002;
<span class="hljs-number">3.</span> &#x6682;&#x65F6;&#x6027;&#x6B7B;&#x533A;&#xFF1A;&#x53EA;&#x8981;&#x5757;&#x7EA7;&#x4F5C;&#x7528;&#x57DF;&#x5185;&#x5B58;&#x5728;<span class="hljs-keyword">let</span>&#x547D;&#x4EE4;&#xFF0C;&#x5B83;&#x6240;&#x58F0;&#x660E;&#x7684;&#x53D8;&#x91CF;&#x5C31;&#x7ED1;&#x5B9A;&#x8FD9;&#x4E2A;&#x533A;&#x57DF;&#xFF0C;&#x4E0D;&#x518D;&#x53D7;&#x5916;&#x90E8;&#x5F71;&#x54CD;&#x3002;
<span class="hljs-number">4.</span> &#x4E0D;&#x5141;&#x8BB8;&#x91CD;&#x590D;&#x58F0;&#x660E;&#xFF0C;<span class="hljs-keyword">let</span>&#x4E0D;&#x5141;&#x8BB8;&#x5728;&#x76F8;&#x540C;&#x4F5C;&#x7528;&#x57DF;&#x5185;&#xFF0C;&#x91CD;&#x590D;&#x58F0;&#x660E;&#x540C;&#x4E00;&#x4E2A;&#x53D8;&#x91CF;&#xFF1A;
<span class="hljs-comment">/*-----------const----------*/</span>
<span class="hljs-number">1.</span> &#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x53EA;&#x8BFB;&#x7684;&#x5E38;&#x91CF;&#x3002;&#x4E00;&#x65E6;&#x58F0;&#x660E;&#xFF0C;&#x5E38;&#x91CF;&#x7684;&#x503C;&#x5C31;&#x4E0D;&#x80FD;&#x6539;&#x53D8;&#x3002;
<span class="hljs-number">2.</span> &#x4E00;&#x65E6;&#x58F0;&#x660E;&#xFF0C;&#x5C31;&#x8981;&#x7ACB;&#x5373;&#x521D;&#x59CB;&#x5316;&#xFF0C;&#x5426;&#x5219;&#x4E5F;&#x62A5;&#x9519;&#x3002;
<span class="hljs-number">3.</span> <span class="hljs-keyword">const</span>&#x547D;&#x4EE4;&#x58F0;&#x660E;&#x7684;&#x5E38;&#x91CF;&#x4E5F;&#x4E0D;&#x63D0;&#x5347;&#xFF0C;&#x540C;&#x6837;&#x5B58;&#x5728;&#x6682;&#x65F6;&#x6027;&#x6B7B;&#x533A;&#xFF0C;&#x53EA;&#x80FD;&#x5728;&#x58F0;&#x660E;&#x7684;&#x4F4D;&#x7F6E;&#x540E;&#x4F7F;&#x7528;&#x3002;
<span class="hljs-number">4.</span> &#x4E5F;&#x4E0D;&#x53EF;&#x4EE5;&#x91CD;&#x590D;&#x58F0;&#x660E;&#x3002;
</code></pre>
                                    <h3
                                        id="6-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;">
                                        <a name="6-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#6-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="6-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;"
                                            class="plugin-anchor"
                                            href="#6-&#x2605;&#x2605;&#x2605;&#x2605;-&#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-6"> 6. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x8BF4;&#x8BF4;&#x4F60;&#x5BF9;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x7406;&#x89E3;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x6709;&#x4E14;&#x53EA;&#x6709;&#x4E09;&#x7C7B;&#xFF0C;&#x5168;&#x5C40;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x51FD;&#x6570;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x4E0E;<span class="hljs-built_in">eval</span>&#x4E0A;&#x4E0B;&#x6587;(<span class="hljs-built_in">eval</span>&#x4E00;&#x822C;&#x4E0D;&#x4F1A;&#x4F7F;&#x7528;)
<span class="hljs-number">1.</span> &#x5168;&#x5C40;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#xFF1A;
   &#x5168;&#x5C40;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x53EA;&#x6709;&#x4E00;&#x4E2A;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x6211;&#x4EEC;&#x719F;&#x77E5;&#x7684;<span class="hljs-built_in">window</span>&#x5BF9;&#x8C61;&#xFF0C;&#x6211;&#x4EEC;&#x80FD;&#x5728;&#x5168;&#x5C40;&#x4F5C;&#x7528;&#x57DF;&#x4E2D;&#x901A;&#x8FC7;<span class="hljs-keyword">this</span>&#x76F4;&#x63A5;&#x8BBF;&#x95EE;&#x5230;&#x5B83;
<span class="hljs-number">2.</span> &#x51FD;&#x6570;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;
   &#x51FD;&#x6570;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x53EF;&#x5B58;&#x5728;&#x65E0;&#x6570;&#x4E2A;&#xFF0C;&#x6BCF;&#x5F53;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x88AB;&#x8C03;&#x7528;&#x65F6;&#x90FD;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x4E0A;&#x4E0B;&#x6587;&#xFF1B;
   &#x9700;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x662F;&#xFF0C;&#x540C;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x88AB;&#x591A;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x90FD;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x3002;

<span class="hljs-number">3.</span> &#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x6808;(&#x4E0B;&#x6587;&#x7B80;&#x79F0;&#x6267;&#x884C;&#x6808;)&#x4E5F;&#x53EB;&#x8C03;&#x7528;&#x6808;&#xFF0C;
&#x6267;&#x884C;&#x6808;&#x7528;&#x4E8E;&#x5B58;&#x50A8;&#x4EE3;&#x7801;&#x6267;&#x884C;&#x671F;&#x95F4;&#x521B;&#x5EFA;&#x7684;&#x6240;&#x6709;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x5177;&#x6709;LIFO&#xFF08;Last In First Out&#x540E;&#x8FDB;&#x5148;&#x51FA;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x5148;&#x8FDB;&#x540E;&#x51FA;&#xFF09;&#x7684;&#x7279;&#x6027;&#x3002;

JS&#x4EE3;&#x7801;&#x9996;&#x6B21;&#x8FD0;&#x884C;&#xFF0C;&#x90FD;&#x4F1A;&#x5148;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5168;&#x5C40;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x5E76;&#x538B;&#x5165;&#x5230;&#x6267;&#x884C;&#x6808;&#x4E2D;&#xFF0C;&#x4E4B;&#x540E;&#x6BCF;&#x5F53;&#x6709;&#x51FD;&#x6570;&#x88AB;&#x8C03;&#x7528;&#xFF0C;&#x90FD;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x51FD;&#x6570;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x5E76;&#x538B;&#x5165;&#x6808;&#x5185;&#xFF1B;&#x7531;&#x4E8E;&#x6267;&#x884C;&#x6808;LIFO&#x7684;&#x7279;&#x6027;&#xFF0C;&#x6240;&#x4EE5;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x4E3A;&#xFF0C;JS&#x4EE3;&#x7801;&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#x524D;&#x5728;&#x6267;&#x884C;&#x6808;&#x5E95;&#x90E8;&#x6C38;&#x8FDC;&#x6709;&#x4E2A;&#x5168;&#x5C40;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;&#x3002;
</code></pre>
                                    <h3
                                        id="7-&#x2605;&#x2605;&#x2605;-&#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;-this-&#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;">
                                        <a name="7-&#x2605;&#x2605;&#x2605;-&#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;-this-&#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#7-&#x2605;&#x2605;&#x2605;-&#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;-this-&#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="7-&#x2605;&#x2605;&#x2605;-&#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;-this-&#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#7-&#x2605;&#x2605;&#x2605;-&#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;-this-&#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-7"> 7. &#x2605;&#x2605;&#x2605;
                                            &#x5BF9;&#x95ED;&#x5305;&#x7684;&#x770B;&#x6CD5;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x95ED;&#x5305;&#xFF1F;&#x8BF4;&#x4E00;&#x4E0B;&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;&#x95ED;&#x5305;&#x7684;
                                            this &#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x95ED;&#x5305;&#x7684;&#x4F5C;&#x7528;&#xFF1A;
<span class="hljs-number">1.</span> &#x5728;&#x5916;&#x90E8;&#x8BBF;&#x95EE;&#x51FD;&#x6570;&#x5185;&#x90E8;&#x7684;&#x53D8;&#x91CF;
<span class="hljs-number">2.</span> &#x8BA9;&#x51FD;&#x6570;&#x5185;&#x7684;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x53EF;&#x4EE5;&#x4E00;&#x76F4;&#x4FDD;&#x5B58;&#x4E0B;&#x53BB;
<span class="hljs-number">3.</span> &#x6A21;&#x5757;&#x5316;&#x79C1;&#x6709;&#x5C5E;&#x6027;&#x548C;&#x516C;&#x5171;&#x5C5E;&#x6027;

&#x95ED;&#x5305;&#x7684;&#x539F;&#x7406;&#xFF1A;
&#x5168;&#x5C40;&#x53D8;&#x91CF;&#x751F;&#x5B58;&#x5468;&#x671F;&#x662F;&#x6C38;&#x4E45;&#xFF0C;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x751F;&#x5B58;&#x5468;&#x671F;&#x968F;&#x7740;&#x51FD;&#x6570;&#x7684;&#x8C03;&#x7528;&#x4ECB;&#x7ECD;&#x800C;&#x9500;&#x6BC1;&#x3002;
&#x95ED;&#x5305;&#x5C31;&#x662F; &#x5728;&#x51FD;&#x6570;&#x4E2D;&#x5B9A;&#x4E49;&#x4E14;&#x6210;&#x4E3A;&#x8BE5;&#x51FD;&#x6570;&#x5185;&#x90E8;&#x8FD4;&#x56DE;&#x7684;&#x51FD;&#x6570;&#x7684;&#x81EA;&#x7531;&#x53D8;&#x91CF; &#x7684;&#x53D8;&#x91CF;&#xFF0C;&#x8BE5;&#x53D8;&#x91CF;&#x4E0D;&#x4F1A;&#x968F;&#x7740;&#x5916;&#x90E8;&#x51FD;&#x6570;&#x8C03;&#x7528;&#x7ED3;&#x675F;&#x800C;&#x9500;&#x6BC1;&#x3002; 
&#xFF08;&#x6CE8;&#xFF1A;&#x4E0D;&#x5149;&#x662F;&#x53D8;&#x91CF;&#xFF0C;&#x51FD;&#x6570;&#x5185;&#x58F0;&#x660E;&#x7684;&#x51FD;&#x6570;&#x4E5F;&#x53EF;&#x4EE5;&#x5F62;&#x6210;&#x95ED;&#x5305;&#xFF09;
&#x5F53;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x8BB0;&#x4F4F;&#x5E76;&#x8BBF;&#x95EE;&#x6240;&#x5728;&#x7684;&#x8BCD;&#x6CD5;&#x4F5C;&#x7528;&#x57DF;&#xFF0C;&#x5373;&#x4F7F;&#x51FD;&#x6570;&#x662F;&#x5728;&#x5F53;&#x524D;&#x8BCD;&#x6CD5;&#x4F5C;&#x7528;&#x57DF;&#x4E4B;&#x5916;&#x6267;&#x884C;&#xFF0C;&#x8FD9;&#x65F6;&#x5C31;&#x4EA7;&#x751F;&#x4E86;&#x95ED;&#x5305;&#x3002;

&#x95ED;&#x5305;&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1A;
<span class="hljs-comment">// 1. &#x8FD4;&#x56DE;&#x503C; &#x6700;&#x5E38;&#x89C1;&#x7684;&#x4E00;&#x79CD;&#x5F62;&#x5F0F;</span>

    <span class="hljs-keyword">var</span> fun_1 = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
      <span class="hljs-keyword">var</span> name = <span class="hljs-string">&quot;limo&quot;</span>;
      <span class="hljs-keyword">return</span> <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{      
        <span class="hljs-keyword">return</span> name;
      }
    }
    <span class="hljs-keyword">var</span> fun_1 = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
      <span class="hljs-keyword">var</span> name = <span class="hljs-string">&quot;limo&quot;</span>;
      <span class="hljs-keyword">return</span> name;
    }
    <span class="hljs-keyword">var</span> fu_1 = fun_1();
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;fu_1():&quot;</span> + fu_1());

<span class="hljs-comment">// 2. &#x51FD;&#x6570;&#x8D4B;&#x503C; &#x4E00;&#x79CD;&#x53D8;&#x5F62;&#x7684;&#x5F62;&#x5F0F;&#x662F;&#x5C06;&#x5185;&#x90E8;&#x51FD;&#x6570;&#x8D4B;&#x503C;&#x7ED9;&#x4E00;&#x4E2A;&#x5916;&#x90E8;&#x53D8;&#x91CF;</span>

    <span class="hljs-keyword">var</span> f2;
    <span class="hljs-keyword">var</span> fun_2 = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
      <span class="hljs-keyword">var</span> name = <span class="hljs-string">&quot;limop&quot;</span>
      <span class="hljs-keyword">var</span> a = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
        <span class="hljs-keyword">return</span> name;
      }
      f2 = a;
    }
    f2();
    <span class="hljs-built_in">console</span>.log(f2);

<span class="hljs-comment">// 3. &#x51FD;&#x6570;&#x53C2;&#x6570; &#x901A;&#x8FC7;&#x51FD;&#x6570;&#x53C2;&#x6570;&#x5F15;&#x7528;&#x5185;&#x90E8;&#x51FD;&#x6570;&#x4EA7;&#x751F;&#x95ED;&#x5305;</span>

    <span class="hljs-keyword">var</span> fn_3 = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">f3</span>) </span>{
      <span class="hljs-built_in">console</span>.log(f3);
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fun_3</span>(<span class="hljs-params"></span>) </span>{
      <span class="hljs-keyword">var</span> name = <span class="hljs-string">&quot;limo&quot;</span>;
      <span class="hljs-keyword">var</span> a = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
        <span class="hljs-keyword">return</span> name;
      }
      fn_3(a)
    }
    fun_3();

<span class="hljs-comment">// 4. IIFE(&#x81EA;&#x6267;&#x884C;&#x51FD;&#x6570;)</span>

    <span class="hljs-keyword">var</span> fn_4 = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">f4</span>) </span>{
      <span class="hljs-built_in">console</span>.log(f4);
    };
    (<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fun_4</span>(<span class="hljs-params"></span>) </span>{
      <span class="hljs-keyword">var</span> name = <span class="hljs-string">&quot;limo&quot;</span>;
      <span class="hljs-keyword">var</span> a = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
        <span class="hljs-keyword">return</span> name;
      }
      fn_3(a)
    })();

<span class="hljs-comment">// 5. &#x5FAA;&#x73AF;&#x8D4B;&#x503C;</span>

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">foo</span>(<span class="hljs-params"></span>)</span>{
      <span class="hljs-keyword">var</span> arr = [];
      <span class="hljs-keyword">for</span>(<span class="hljs-keyword">var</span> i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">10</span>; i++){
        arr[i] = (<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">n</span>)</span>{
          <span class="hljs-keyword">return</span> <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
            <span class="hljs-keyword">return</span> n;
          }
        })(i)
      }
      <span class="hljs-keyword">return</span> arr;
    }
    <span class="hljs-keyword">var</span> bar = foo();
    <span class="hljs-built_in">console</span>.log(bar[<span class="hljs-number">3</span>]());

<span class="hljs-comment">// 6. getter&#x548C;setter</span>

    <span class="hljs-comment">// getter&#x548C;setter&#x51FD;&#x6570;&#x6765;&#x5C06;&#x8981;&#x64CD;&#x4F5C;&#x7684;&#x53D8;&#x91CF;&#x4FDD;&#x5B58;&#x5728;&#x51FD;&#x6570;&#x5185;&#x90E8;&#xFF0C;&#x9632;&#x6B62;&#x66B4;&#x9732;&#x5728;&#x5916;&#x90E8;</span>
    <span class="hljs-keyword">var</span> getValue, setValue;
    (<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
      <span class="hljs-keyword">var</span> num = <span class="hljs-number">0</span>
      getValue = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
        <span class="hljs-keyword">return</span> num
      }
      setValue = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">v</span>) </span>{
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">typeof</span> v === <span class="hljs-string">&apos;number&apos;</span>) {
          num = v
        }
      }
    })();
    <span class="hljs-built_in">console</span>.log(getValue());    <span class="hljs-comment">//0</span>
    setValue(<span class="hljs-number">10</span>);
    <span class="hljs-built_in">console</span>.log(getValue())     <span class="hljs-comment">//10</span>

<span class="hljs-comment">// 7.&#x8FED;&#x4EE3;&#x5668;&#xFF08;&#x8BA1;&#x6570;&#x5668;&#xFF09;</span>

    <span class="hljs-keyword">var</span> add = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
      <span class="hljs-keyword">var</span> num = <span class="hljs-number">0</span>;
      <span class="hljs-keyword">return</span> <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-keyword">return</span> ++num;
      }
    }();
    <span class="hljs-built_in">console</span>.log(add());
    <span class="hljs-built_in">console</span>.log(add());

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">setUp</span>(<span class="hljs-params">arr</span>)</span>{
      <span class="hljs-keyword">var</span> i = <span class="hljs-number">0</span>;
      <span class="hljs-keyword">return</span> <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-keyword">return</span> arr[i++];
      }
    }
    <span class="hljs-keyword">var</span> next = setUp([<span class="hljs-string">&apos;Steve&apos;</span>,<span class="hljs-string">&apos;Alex&apos;</span>,<span class="hljs-string">&apos;LingYi&apos;</span>]);
    <span class="hljs-built_in">console</span>.log(next());
    <span class="hljs-built_in">console</span>.log(next());
    <span class="hljs-built_in">console</span>.log(next());

<span class="hljs-comment">// 8.&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;</span>

    <span class="hljs-built_in">window</span>.onload = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>)</span>{
      <span class="hljs-keyword">var</span> btn = <span class="hljs-built_in">document</span>.querySelector(<span class="hljs-string">&apos;.btn&apos;</span>)
      btn.onclick = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>)</span>{<span class="hljs-comment">//&#x4E8B;&#x4EF6;&#x76F8;&#x5F53;&#x4E8E;&#x5728;&#x5168;&#x5C40;&#x89E6;&#x53D1;</span>
        btn.style.color = <span class="hljs-string">&apos;red&apos;</span><span class="hljs-comment">//&#x4FDD;&#x6301;&#x5BF9;&#x4E0A;&#x5C42;&#x4F5C;&#x7528;&#x57DF;&#x7684;&#x5F15;&#x7528; btn</span>
        <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;abc&apos;</span>)
        <span class="hljs-comment">// this</span>
      }
    }

&#x95ED;&#x5305;&#x7684;<span class="hljs-keyword">this</span>&#x6307;&#x5411;&#x95EE;&#x9898;&#xFF1A;

<span class="hljs-keyword">var</span> myNumber = {
  value: <span class="hljs-number">1</span>,
  add: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">i</span>)</span>{
    <span class="hljs-keyword">var</span> helper = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">i</span>)</span>{
        <span class="hljs-built_in">console</span>.log(<span class="hljs-keyword">this</span>);
          <span class="hljs-keyword">this</span>.value += i;
    }
    helper(i);
  }
}
myNumber.add(<span class="hljs-number">1</span>);
<span class="hljs-number">1.</span><span class="hljs-keyword">this</span>&#x6307;&#x5411;<span class="hljs-built_in">window</span>&#x5BF9;&#x8C61;&#xFF08;&#x56E0;&#x4E3A;&#x533F;&#x540D;&#x51FD;&#x6570;&#x7684;&#x6267;&#x884C;&#x5177;&#x6709;&#x5168;&#x5C40;&#x6027;&#xFF0C;&#x6240;&#x4EE5;&#x5176;<span class="hljs-keyword">this</span>&#x5BF9;&#x8C61;&#x6307;&#x5411;<span class="hljs-built_in">window</span>&#xFF09;&#xFF1B;
<span class="hljs-number">2.</span>&#x4E0D;&#x80FD;&#x5B9E;&#x73B0;value&#x52A0;<span class="hljs-number">1</span>&#xFF08;&#x6BCF;&#x4E2A;&#x51FD;&#x6570;&#x5728;&#x88AB;&#x8C03;&#x7528;&#x65F6;&#x90FD;&#x4F1A;&#x81EA;&#x52A8;&#x53D6;&#x5F97;&#x4E24;&#x4E2A;&#x7279;&#x6B8A;&#x53D8;&#x91CF;&#xFF0C;<span class="hljs-keyword">this</span>&#x548C;<span class="hljs-built_in">arguments</span>&#xFF0C;&#x5185;&#x90E8;&#x51FD;&#x6570;&#x5728;&#x641C;&#x7D22;&#x8FD9;&#x4E24;&#x4E2A;&#x5BF9;&#x8C61;&#x65F6;&#xFF0C;&#x53EA;&#x4F1A;&#x641C;&#x7D22;&#x5230;&#x5176;&#x6D3B;&#x52A8;&#x5BF9;&#x8C61;&#x4E3A;&#x6B62;&#xFF0C;&#x6240;&#x4EE5;&#x4E0D;&#x80FD;&#x5B9E;&#x73B0;&#x8BBF;&#x95EE;&#x5916;&#x90E8;&#x51FD;&#x6570;&#x7684;<span class="hljs-keyword">this</span>&#x5BF9;&#x8C61;&#xFF09;&#xFF1B;
<span class="hljs-number">3.</span>&#x4FEE;&#x6539;&#x4EE3;&#x7801;&#x5B9E;&#x73B0;&#x6B63;&#x786E;&#x529F;&#x80FD;

&#x7B2C;&#x4E00;&#x79CD;&#x89E3;&#x51B3;&#x65B9;&#x6CD5;&#xFF1A;

<span class="hljs-keyword">var</span> myNumber={
    value:<span class="hljs-number">1</span>,
    add:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">i</span>)</span>{
        <span class="hljs-keyword">var</span> that=<span class="hljs-keyword">this</span>;<span class="hljs-comment">//&#x5B9A;&#x4E49;&#x53D8;&#x91CF;that&#x7528;&#x4E8E;&#x4FDD;&#x5B58;&#x4E0A;&#x5C42;&#x51FD;&#x6570;&#x7684;this&#x5BF9;&#x8C61;</span>
        <span class="hljs-keyword">var</span> helper=<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">i</span>)</span>{
             <span class="hljs-built_in">console</span>.log(that);
        that.value+=i;
    }
    helper(i);
    }
}
myNumber.add(<span class="hljs-number">1</span>);

&#x7B2C;&#x4E8C;&#x79CD;&#x89E3;&#x51B3;&#x65B9;&#x6CD5;&#xFF1A;

<span class="hljs-keyword">var</span> myNumber={
    value:<span class="hljs-number">1</span>,
    add:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">i</span>)</span>{
        <span class="hljs-keyword">var</span> helper=<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">i</span>)</span>{
            <span class="hljs-keyword">this</span>.value+=i;
        }
        helper.apply(<span class="hljs-keyword">this</span>,[i]);<span class="hljs-comment">//&#x4F7F;&#x7528;apply&#x6539;&#x53D8;helper&#x7684;this&#x5BF9;&#x8C61;&#x6307;&#x5411;&#xFF0C;&#x4F7F;&#x5176;&#x6307;&#x5411;myNumber&#x5BF9;&#x8C61;</span>
    }
}
myNumber.add(<span class="hljs-number">1</span>);
&#x7B2C;&#x4E09;&#x79CD;&#x89E3;&#x51B3;&#x65B9;&#x6CD5;

<span class="hljs-keyword">var</span> myNumber={
    value:<span class="hljs-number">1</span>,
    add:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">i</span>)</span>{
        <span class="hljs-keyword">var</span> helper=<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">i</span>)</span>{
            <span class="hljs-keyword">this</span>.value+=i;
        }.bind(<span class="hljs-keyword">this</span>,i);<span class="hljs-comment">//&#x4F7F;&#x7528;bind&#x7ED1;&#x5B9A;&#xFF0C;&#x548C;apply&#x76F8;&#x4F3C;&#xFF0C;&#x53EA;&#x662F;&#x5B83;&#x8FD4;&#x56DE;&#x7684;&#x662F;&#x5BF9;&#x51FD;&#x6570;&#x7684;&#x5F15;&#x7528;&#xFF0C;&#x4E0D;&#x4F1A;&#x7ACB;&#x5373;&#x6267;&#x884C;</span>
        helper(i);
    }
}
myNumber.add(<span class="hljs-number">1</span>);
</code></pre>
                                    <h3
                                        id="8-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;">
                                        <a name="8-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#8-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="8-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;"
                                            class="plugin-anchor"
                                            href="#8-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-8"> 8. &#x2605;&#x2605;&#x2605;
                                            &#x7B80;&#x8FF0;&#x95ED;&#x5305;&#x7684;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x4F18;&#x5316;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x95ED;&#x5305;&#x7684;&#x7F3A;&#x70B9;&#xFF1A;&#x5360;&#x7528;&#x5185;&#x5C42;&#x7A7A;&#x95F4; &#x5927;&#x91CF;&#x4F7F;&#x7528;&#x95ED;&#x5305;&#x4F1A;&#x9020;&#x6210; &#x6808;&#x6EA2;&#x51FA;

&#x7531;&#x4E8E;&#x95ED;&#x5305;&#x4F1A;&#x4E00;&#x76F4;&#x5360;&#x7528;&#x5185;&#x5B58;&#x7A7A;&#x95F4;&#xFF0C;&#x76F4;&#x5230;&#x9875;&#x9762;&#x9500;&#x6BC1;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x4E3B;&#x52A8;&#x5C06;&#x5DF2;&#x4F7F;&#x7528;&#x7684;&#x95ED;&#x5305;&#x9500;&#x6BC1;&#xFF1A;
&#x5C06;&#x95ED;&#x5305;&#x51FD;&#x6570;&#x8D4B;&#x503C;&#x4E3A;<span class="hljs-literal">null</span> &#x53EF;&#x4EE5;&#x9500;&#x6BC1;&#x95ED;&#x5305;
</code></pre>
                                    <h3
                                        id="9-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x786E;&#x5B9A;-this-&#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8;-this-&#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;">
                                        <a name="9-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x786E;&#x5B9A;-this-&#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8;-this-&#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#9-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x786E;&#x5B9A;-this-&#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8;-this-&#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="9-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x786E;&#x5B9A;-this-&#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8;-this-&#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#9-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x786E;&#x5B9A;-this-&#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8;-this-&#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-9"> 9. &#x2605;&#x2605;&#x2605; &#x5982;&#x4F55;&#x786E;&#x5B9A; this
                                            &#x6307;&#x5411;&#xFF1F;&#x6539;&#x53D8; this
                                            &#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"> <span class="hljs-keyword">this</span> &#x6307;&#x5411;&#xFF1A;
<span class="hljs-number">1.</span> &#x5168;&#x5C40;&#x4E0A;&#x4E0B;&#x6587;&#xFF08;&#x51FD;&#x6570;&#x5916;&#xFF09;
&#x65E0;&#x8BBA;&#x662F;&#x5426;&#x4E3A;&#x4E25;&#x683C;&#x6A21;&#x5F0F;&#xFF0C;&#x5747;&#x6307;&#x5411;&#x5168;&#x5C40;&#x5BF9;&#x8C61;&#x3002;&#x6CE8;&#x610F;:&#x4E25;&#x683C;&#x6A21;&#x5F0F;&#x4E0B;&#x5168;&#x5C40;&#x5BF9;&#x8C61;&#x4E3A;undifined
<span class="hljs-number">2.</span> &#x51FD;&#x6570;&#x4E0A;&#x4E0B;&#x6587;&#xFF08;&#x51FD;&#x6570;&#x5185;&#xFF09;
&#x9ED8;&#x8BA4;&#x7684;&#xFF0C;&#x6307;&#x5411;&#x51FD;&#x6570;&#x7684;&#x8C03;&#x7528;&#x5BF9;&#x8C61;&#xFF0C;&#x4E14;&#x662F;&#x6700;&#x76F4;&#x63A5;&#x7684;&#x8C03;&#x7528;&#x5BF9;&#x8C61;&#xFF1A;
&#x7B80;&#x5355;&#x8C03;&#x7528;&#xFF0C;&#x6307;&#x5411;&#x5168;&#x5C40;&#x5BF9;&#x8C61;&#x6CE8;&#x610F;:&#x4E25;&#x683C;&#x6A21;&#x5F0F;&#x4E0B;&#x5168;&#x5C40;&#x5BF9;&#x8C61;&#x4E3A;undifined&#xFF0C;&#x67D0;&#x4E9B;&#x6D4F;&#x89C8;&#x5668;&#x672A;&#x5B9E;&#x73B0;&#x6B64;&#x6807;&#x51C6;&#x4E5F;&#x53EF;&#x80FD;&#x4F1A;&#x662F;<span class="hljs-built_in">window</span>

&#x6539;&#x53D8;<span class="hljs-keyword">this</span>&#x6307;&#x5411;&#x7684;&#x65B9;&#x5F0F;&#xFF1A;
<span class="hljs-number">1.</span> &#x7B2C;&#x4E00;&#x79CD;&#xFF1A; <span class="hljs-keyword">new</span>&#x5173;&#x952E;&#x5B57;&#x6539;&#x53D8;<span class="hljs-keyword">this</span>&#x6307;&#x5411;

<span class="hljs-comment">//&#x6784;&#x9020;&#x51FD;&#x6570;&#x7248;this</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">Fn</span>(<span class="hljs-params"></span>)</span>{
    <span class="hljs-keyword">this</span>.user = <span class="hljs-string">&quot;&#x674E;&#x67D0;&quot;</span>;
}
<span class="hljs-keyword">var</span> a = <span class="hljs-keyword">new</span> Fn();
<span class="hljs-built_in">console</span>.log(a.user); <span class="hljs-comment">//&#x674E;&#x67D0;</span>
<span class="hljs-comment">/*----------------------------------------*/</span>
<span class="hljs-number">2.</span> &#x7B2C;&#x4E8C;&#x79CD;&#xFF1A; call()
<span class="hljs-comment">// &#x628A;b&#x6DFB;&#x52A0;&#x5230;&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#x7684;&#x73AF;&#x5883;&#x4E2D;&#xFF0C;&#x7B80;&#x5355;&#x6765;&#x8BF4;&#xFF0C;this&#x5C31;&#x4F1A;&#x6307;&#x5411;&#x90A3;&#x4E2A;&#x5BF9;&#x8C61;</span>
<span class="hljs-keyword">var</span> a = {
    user:<span class="hljs-string">&quot;&#x674E;&#x67D0;&quot;</span>,
    fn:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-built_in">console</span>.log(<span class="hljs-keyword">this</span>.user); <span class="hljs-comment">//&#x674E;&#x67D0;</span>
    }
}
<span class="hljs-keyword">var</span> b = a.fn;
b.call(a);  <span class="hljs-comment">//&#x82E5;&#x4E0D;&#x7528;call&#xFF0C;&#x5219;b()&#x6267;&#x884C;&#x540E;this&#x6307;&#x7684;&#x662F;Window&#x5BF9;&#x8C61;</span>
<span class="hljs-comment">/*----------------------------------------*/</span>
<span class="hljs-number">3.</span> &#x7B2C;&#x4E09;&#x79CD;&#xFF1A;apply()
<span class="hljs-comment">// apply&#x65B9;&#x6CD5;&#x548C;call&#x65B9;&#x6CD5;&#x6709;&#x4E9B;&#x76F8;&#x4F3C;&#xFF0C;&#x5B83;&#x4E5F;&#x53EF;&#x4EE5;&#x6539;&#x53D8;this&#x7684;&#x6307;&#x5411;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x6709;&#x591A;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x4F46;&#x662F;&#x4E0D;&#x540C;&#x7684;&#x662F;&#xFF0C;&#x7B2C;&#x4E8C;&#x4E2A;&#x53C2;&#x6570;&#x5FC5;&#x987B;&#x662F;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;</span>
<span class="hljs-keyword">var</span> a = {
    user:<span class="hljs-string">&quot;&#x674E;&#x67D0;&quot;</span>,
    fn:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-built_in">console</span>.log(<span class="hljs-keyword">this</span>.user); <span class="hljs-comment">//&#x674E;&#x67D0;</span>
    }
}
<span class="hljs-keyword">var</span> b = a.fn;
b.apply(a);
<span class="hljs-comment">/*----------------------------------------*/</span>
<span class="hljs-number">4.</span> &#x7B2C;&#x56DB;&#x79CD;&#xFF1A;bind()
<span class="hljs-comment">// bind&#x65B9;&#x6CD5;&#x8FD4;&#x56DE;&#x7684;&#x662F;&#x4E00;&#x4E2A;&#x4FEE;&#x6539;&#x8FC7;&#x540E;&#x7684;&#x51FD;&#x6570;,</span>
<span class="hljs-comment">// bind&#x4E5F;&#x53EF;&#x4EE5;&#x6709;&#x591A;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x5E76;&#x4E14;&#x53C2;&#x6570;&#x53EF;&#x4EE5;&#x6267;&#x884C;&#x7684;&#x65F6;&#x5019;&#x518D;&#x6B21;&#x6DFB;&#x52A0;&#xFF0C;&#x4F46;&#x662F;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x662F;&#xFF0C;&#x53C2;&#x6570;&#x662F;&#x6309;&#x7167;&#x5F62;&#x53C2;&#x7684;&#x987A;&#x5E8F;&#x8FDB;&#x884C;&#x7684;&#x3002;</span>
<span class="hljs-keyword">var</span> a = {
    user:<span class="hljs-string">&quot;&#x674E;&#x67D0;&quot;</span>,
    fn:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-built_in">console</span>.log(<span class="hljs-keyword">this</span>.user); <span class="hljs-comment">//&#x674E;&#x67D0;</span>
    }
}
<span class="hljs-keyword">var</span> b = a.fn;
<span class="hljs-keyword">var</span> c = b.bind(a);
c();
</code></pre>
                                    <h3
                                        id="10-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684;-this">
                                        <a name="10-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684;-this"
                                            class="anchor-navigation-ex-anchor"
                                            href="#10-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684;-this"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="10-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684;-this"
                                            class="plugin-anchor"
                                            href="#10-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684;-this"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-10"> 10. &#x2605;&#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x7684; this</p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x7531;&#x4E8E;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x4E0D;&#x7ED1;&#x5B9A;<span class="hljs-keyword">this</span>&#xFF0C; &#x5B83;&#x4F1A;&#x6355;&#x83B7;&#x5176;&#x6240;&#x5728;&#xFF08;&#x5373;&#x5B9A;&#x4E49;&#x7684;&#x4F4D;&#x7F6E;&#xFF09;&#x4E0A;&#x4E0B;&#x6587;&#x7684;<span class="hljs-keyword">this</span>&#x503C;&#xFF0C; &#x4F5C;&#x4E3A;&#x81EA;&#x5DF1;&#x7684;<span class="hljs-keyword">this</span>&#x503C;
<span class="hljs-number">1.</span> &#x6240;&#x4EE5; call() / apply() / bind() &#x65B9;&#x6CD5;&#x5BF9;&#x4E8E;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x6765;&#x8BF4;&#x53EA;&#x662F;&#x4F20;&#x5165;&#x53C2;&#x6570;&#xFF0C;&#x5BF9;&#x5B83;&#x7684; <span class="hljs-keyword">this</span> &#x6BEB;&#x65E0;&#x5F71;&#x54CD;&#x3002;
<span class="hljs-number">2.</span> &#x8003;&#x8651;&#x5230; <span class="hljs-keyword">this</span> &#x662F;&#x8BCD;&#x6CD5;&#x5C42;&#x9762;&#x4E0A;&#x7684;&#xFF0C;&#x4E25;&#x683C;&#x6A21;&#x5F0F;&#x4E2D;&#x4E0E; <span class="hljs-keyword">this</span> &#x76F8;&#x5173;&#x7684;&#x89C4;&#x5219;&#x90FD;&#x5C06;&#x88AB;&#x5FFD;&#x7565;

&#x4F5C;&#x4E3A;&#x65B9;&#x6CD5;&#x7684;&#x7BAD;&#x5934;&#x51FD;&#x6570;<span class="hljs-keyword">this</span>&#x6307;&#x5411;&#x5168;&#x5C40;<span class="hljs-built_in">window</span>&#x5BF9;&#x8C61;&#xFF0C;&#x800C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x5219;&#x6307;&#x5411;&#x8C03;&#x7528;&#x5B83;&#x7684;&#x5BF9;&#x8C61;
</code></pre>
                                    <h3
                                        id="11-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;">
                                        <a name="11-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#11-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="11-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;"
                                            class="plugin-anchor"
                                            href="#11-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-11"> 11. &#x2605;&#x2605;&#x2605;
                                            &#x8C08;&#x4E00;&#x4E0B;&#x4F60;&#x5BF9;&#x539F;&#x578B;&#x94FE;&#x7684;&#x7406;&#x89E3;&#xFF0C;&#x753B;&#x4E00;&#x4E2A;&#x7ECF;&#x5178;&#x7684;&#x539F;&#x578B;&#x94FE;&#x56FE;&#x793A;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x539F;&#x578B;&#x94FE;:
&#x56E0;&#x4E3A;&#x6BCF;&#x4E2A;&#x5BF9;&#x8C61;&#x548C;&#x539F;&#x578B;&#x90FD;&#x6709;&#x539F;&#x578B;&#xFF0C;&#x5BF9;&#x8C61;&#x7684;&#x539F;&#x578B;&#x6307;&#x5411;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#xFF0C;
&#x800C;&#x7236;&#x7684;&#x539F;&#x578B;&#x53C8;&#x6307;&#x5411;&#x7236;&#x7684;&#x7236;&#xFF0C;&#x8FD9;&#x79CD;&#x539F;&#x578B;&#x5C42;&#x5C42;&#x8FDE;&#x63A5;&#x8D77;&#x6765;&#x7684;&#x5C31;&#x6784;&#x6210;&#x4E86;&#x539F;&#x578B;&#x94FE;&#x3002;
</code></pre>
                                    <p><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimage.mamicode.com%2Finfo%2F201809%2F20180917165312027007.png&amp;refer=http%3A%2F%2Fimage.mamicode.com&amp;app=2002&amp;size=f9999,10000&amp;q=a80&amp;n=0&amp;g=0n&amp;fmt=jpeg?sec=1622810836&amp;t=b6b151974ee8bbfb0e420a30caa148dd"
                                            alt="img"></p>
                                    <h3
                                        id="12-&#x2605;&#x2605;&#x2605;-es5es6-&#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="12-&#x2605;&#x2605;&#x2605;-es5es6-&#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#12-&#x2605;&#x2605;&#x2605;-es5es6-&#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="12-&#x2605;&#x2605;&#x2605;-es5es6-&#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#12-&#x2605;&#x2605;&#x2605;-es5es6-&#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-12"> 12. &#x2605;&#x2605;&#x2605; ES5/ES6
                                            &#x7684;&#x7EE7;&#x627F;&#x9664;&#x5199;&#x6CD5;&#x4EE5;&#x5916;&#x8FD8;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">1. ES5 &#x7684;&#x7EE7;&#x627F;&#x5B9E;&#x8D28;&#x4E0A;&#x662F;&#x5148;&#x521B;&#x5EFA;&#x5B50;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#xFF0C;&#x7136;&#x540E;&#x518D;&#x5C06;&#x7236;&#x7C7B;&#x7684;&#x65B9;&#x6CD5;&#x6DFB;&#x52A0; &#x5230; this &#x4E0A;(Parent.apply(this)).
2. ES6 &#x7684;&#x7EE7;&#x627F;&#x673A;&#x5236;&#x5B8C;&#x5168;&#x4E0D;&#x540C;&#xFF0C;&#x5B9E;&#x8D28;&#x4E0A;&#x662F;&#x5148;&#x521B;&#x5EFA;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61; this(&#x6240;&#x4EE5;&#x5FC5; &#x987B;&#x5148;&#x8C03;&#x7528;&#x7236;&#x7C7B;&#x7684;super()&#x65B9;&#x6CD5;)&#xFF0C;&#x7136;&#x540E;&#x518D;&#x7528;&#x5B50;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4FEE;&#x6539; this&#x3002;
3. ES5 &#x7684;&#x7EE7;&#x627F;&#x65F6;&#x901A;&#x8FC7;&#x539F;&#x578B;&#x6216;&#x6784;&#x9020;&#x51FD;&#x6570;&#x673A;&#x5236;&#x6765;&#x5B9E;&#x73B0;&#x3002;
4. ES6 &#x901A;&#x8FC7; class &#x5173;&#x952E;&#x5B57;&#x5B9A;&#x4E49;&#x7C7B;&#xFF0C;&#x91CC;&#x9762;&#x6709;&#x6784;&#x9020;&#x65B9;&#x6CD5;&#xFF0C;&#x7C7B;&#x4E4B;&#x95F4;&#x901A;&#x8FC7; extends &#x5173; &#x952E;&#x5B57;&#x5B9E;&#x73B0;&#x7EE7;&#x627F;&#x3002;
5. &#x5B50;&#x7C7B;&#x5FC5;&#x987B;&#x5728; constructor &#x65B9;&#x6CD5;&#x4E2D;&#x8C03;&#x7528; super &#x65B9;&#x6CD5;&#xFF0C;&#x5426;&#x5219;&#x65B0;&#x5EFA;&#x5B9E;&#x4F8B;&#x62A5;&#x9519;&#x3002;&#x56E0; &#x4E3A;&#x5B50;&#x7C7B;&#x6CA1;&#x6709;&#x81EA;&#x5DF1;&#x7684; this&#x5BF9;&#x8C61;&#xFF0C;&#x800C;&#x662F;&#x7EE7;&#x627F;&#x4E86;&#x7236;&#x7C7B;&#x7684; this &#x5BF9;&#x8C61;&#xFF0C;&#x7136;&#x540E;&#x5BF9;&#x5176;&#x8FDB;&#x884C;&#x52A0;&#x5DE5;&#x3002; &#x5982;&#x679C;&#x4E0D;&#x8C03;&#x7528; super &#x65B9;&#x6CD5;&#xFF0C;&#x5B50;&#x7C7B;&#x5F97;&#x4E0D;&#x5230; this &#x5BF9;&#x8C61;&#x3002;
6. &#x6CE8;&#x610F; super &#x5173;&#x952E;&#x5B57;&#x6307;&#x4EE3;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x5373;&#x7236;&#x7C7B;&#x7684; this &#x5BF9;&#x8C61;&#x3002; &#x6CE8;&#x610F;:&#x5728;&#x5B50;&#x7C7B;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4E2D;&#xFF0C;&#x8C03;&#x7528; super &#x540E;&#xFF0C;&#x624D;&#x53EF;&#x4F7F;&#x7528; this&#x5173;&#x952E;&#x5B57;&#xFF0C;&#x5426;&#x5219;&#x62A5;&#x9519;
</code></pre>
                                    <h3
                                        id="13-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;">
                                        <a name="13-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#13-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="13-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;"
                                            class="plugin-anchor"
                                            href="#13-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-13"> 13. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x4F60;&#x5BF9;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6709;&#x4E86;&#x89E3;&#x5417;&#xFF1F;&#x8BF4;&#x8BF4;&#x770B;
                                        </p>
                                    </h3>
                                    <p>Event
                                        Loop(&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;)&#x4E2D;&#xFF0C;&#x6BCF;&#x4E00;&#x6B21;&#x5FAA;&#x73AF;&#x79F0;&#x4E3A;
                                        tick,
                                        &#x6BCF;&#x4E00;&#x6B21;tick&#x7684;&#x4EFB;&#x52A1;&#x5982;&#x4E0B;&#xFF1A;</p>
                                    <ul>
                                        <li>&#x6267;&#x884C;&#x6808;&#x9009;&#x62E9;&#x6700;&#x5148;&#x8FDB;&#x5165;&#x961F;&#x5217;&#x7684;&#x5B8F;&#x4EFB;&#x52A1;(&#x901A;&#x5E38;&#x662F;<code>script</code>&#x6574;&#x4F53;&#x4EE3;&#x7801;)&#xFF0C;&#x5982;&#x679C;&#x6709;&#x5219;&#x6267;&#x884C;
                                        </li>
                                        <li>&#x68C0;&#x67E5;&#x662F;&#x5426;&#x5B58;&#x5728;
                                            Microtask&#xFF0C;&#x5982;&#x679C;&#x5B58;&#x5728;&#x5219;&#x4E0D;&#x505C;&#x7684;&#x6267;&#x884C;&#xFF0C;&#x76F4;&#x81F3;&#x6E05;&#x7A7A;
                                            microtask &#x961F;&#x5217;</li>
                                        <li>&#x66F4;&#x65B0;render(&#x6BCF;&#x4E00;&#x6B21;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#xFF0C;&#x6D4F;&#x89C8;&#x5668;&#x90FD;&#x53EF;&#x80FD;&#x4F1A;&#x53BB;&#x66F4;&#x65B0;&#x6E32;&#x67D3;)
                                        </li>
                                        <li>&#x91CD;&#x590D;&#x4EE5;&#x4E0A;&#x6B65;&#x9AA4;</li>
                                    </ul>
                                    <p>&#x5B8F;&#x4EFB;&#x52A1; &gt; &#x6240;&#x6709;&#x5FAE;&#x4EFB;&#x52A1; &gt;
                                        &#x5B8F;&#x4EFB;&#x52A1;&#xFF0C;&#x5982;&#x4E0B;&#x56FE;&#x6240;&#x793A;&#xFF1A;
                                    </p>
                                    <p><img src="https://segmentfault.com/img/remote/1460000015317438?w=587&amp;h=528"
                                            alt="img"></p>
                                    <pre><code class="lang-JS">&#x4ECE;&#x4E0A;&#x56FE;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x770B;&#x51FA;&#xFF1A;

<span class="hljs-number">1.</span> &#x5C06;&#x6240;&#x6709;&#x4EFB;&#x52A1;&#x770B;&#x6210;&#x4E24;&#x4E2A;&#x961F;&#x5217;&#xFF1A;&#x6267;&#x884C;&#x961F;&#x5217;&#x4E0E;&#x4E8B;&#x4EF6;&#x961F;&#x5217;&#x3002;
<span class="hljs-number">2.</span> &#x6267;&#x884C;&#x961F;&#x5217;&#x662F;&#x540C;&#x6B65;&#x7684;&#xFF0C;&#x4E8B;&#x4EF6;&#x961F;&#x5217;&#x662F;&#x5F02;&#x6B65;&#x7684;&#xFF0C;&#x5B8F;&#x4EFB;&#x52A1;&#x653E;&#x5165;&#x4E8B;&#x4EF6;&#x5217;&#x8868;&#xFF0C;&#x5FAE;&#x4EFB;&#x52A1;&#x653E;&#x5165;&#x6267;&#x884C;&#x961F;&#x5217;&#x4E4B;&#x540E;&#xFF0C;&#x4E8B;&#x4EF6;&#x961F;&#x5217;&#x4E4B;&#x524D;&#x3002;
<span class="hljs-number">3.</span> &#x5F53;&#x6267;&#x884C;&#x5B8C;&#x540C;&#x6B65;&#x4EE3;&#x7801;&#x4E4B;&#x540E;&#xFF0C;&#x5C31;&#x4F1A;&#x6267;&#x884C;&#x4F4D;&#x4E8E;&#x6267;&#x884C;&#x5217;&#x8868;&#x4E4B;&#x540E;&#x7684;&#x5FAE;&#x4EFB;&#x52A1;&#xFF0C;&#x7136;&#x540E;&#x518D;&#x6267;&#x884C;&#x4E8B;&#x4EF6;&#x5217;&#x8868;&#x4E2D;&#x7684;&#x5B8F;&#x4EFB;&#x52A1;
</code></pre>
                                    <h3
                                        id="14-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="14-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#14-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="14-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#14-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-14"> 14. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x5FAE;&#x4EFB;&#x52A1;&#x548C;&#x5B8F;&#x4EFB;&#x52A1;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <table>
                                        <thead>
                                            <tr>
                                                <th></th>
                                                <th>&#x5B8F;&#x4EFB;&#x52A1;&#xFF08;macrotask&#xFF09;</th>
                                                <th>&#x5FAE;&#x4EFB;&#x52A1;&#xFF08;microtask&#xFF09;</th>
                                            </tr>
                                        </thead>
                                        <tbody>
                                            <tr>
                                                <td>&#x8C01;&#x53D1;&#x8D77;&#x7684;</td>
                                                <td>&#x5BBF;&#x4E3B;&#xFF08;Node&#x3001;&#x6D4F;&#x89C8;&#x5668;&#xFF09;
                                                </td>
                                                <td>JS&#x5F15;&#x64CE;</td>
                                            </tr>
                                            <tr>
                                                <td>&#x5177;&#x4F53;&#x4E8B;&#x4EF6;</td>
                                                <td>1. script
                                                    (&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x4E3A;&#x5916;&#x5C42;&#x540C;&#x6B65;&#x4EE3;&#x7801;)
                                                    2. setTimeout/setInterval 3. UI rendering/UI&#x4E8B;&#x4EF6; 4.
                                                    postMessage&#xFF0C;MessageChannel 5.
                                                    setImmediate&#xFF0C;I/O&#xFF08;Node.js&#xFF09;</td>
                                                <td>1. Promise 2. MutaionObserver 3.
                                                    Object.observe&#xFF08;&#x5DF2;&#x5E9F;&#x5F03;&#xFF1B;<code>Proxy</code>
                                                    &#x5BF9;&#x8C61;&#x66FF;&#x4EE3;&#xFF09; 4.
                                                    process.nextTick&#xFF08;Node.js&#xFF09;</td>
                                            </tr>
                                            <tr>
                                                <td>&#x8C01;&#x5148;&#x8FD0;&#x884C;</td>
                                                <td>&#x540E;&#x8FD0;&#x884C;</td>
                                                <td>&#x5148;&#x8FD0;&#x884C;</td>
                                            </tr>
                                            <tr>
                                                <td>&#x4F1A;&#x89E6;&#x53D1;&#x65B0;&#x4E00;&#x8F6E;Tick&#x5417;</td>
                                                <td>&#x4F1A;</td>
                                                <td>&#x4E0D;&#x4F1A;</td>
                                            </tr>
                                        </tbody>
                                    </table>
                                    <h3
                                        id="15-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x548C;-node-&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="15-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x548C;-node-&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#15-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x548C;-node-&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="15-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x548C;-node-&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#15-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x548C;-node-&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-15"> 15. &#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x6D4F;&#x89C8;&#x5668;&#x548C; Node
                                            &#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7684;&#x533A;&#x522B;&#xFF1F;</p>
                                    </h3>
                                    <p>&#x6D4F;&#x89C8;&#x5668;&#x4E2D;&#x7684;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#xFF1A;
                                    </p>
                                    <p><img src="https://image.fundebug.com/2019-01-14-002.png" alt="img"></p>
                                    <p>Node&#x4E2D;&#x7684;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#xFF1A;</p>
                                    <p>Node &#x4E2D;&#x7684; Event Loop
                                        &#x548C;&#x6D4F;&#x89C8;&#x5668;&#x4E2D;&#x7684;&#x662F;&#x5B8C;&#x5168;&#x4E0D;&#x76F8;&#x540C;&#x7684;&#x4E1C;&#x897F;&#x3002;Node.js
                                        &#x91C7;&#x7528; V8 &#x4F5C;&#x4E3A; js
                                        &#x7684;&#x89E3;&#x6790;&#x5F15;&#x64CE;&#xFF0C;&#x800C; I/O
                                        &#x5904;&#x7406;&#x65B9;&#x9762;&#x4F7F;&#x7528;&#x4E86;&#x81EA;&#x5DF1;&#x8BBE;&#x8BA1;&#x7684;
                                        libuv&#xFF0C;libuv
                                        &#x662F;&#x4E00;&#x4E2A;&#x57FA;&#x4E8E;&#x4E8B;&#x4EF6;&#x9A71;&#x52A8;&#x7684;&#x8DE8;&#x5E73;&#x53F0;&#x62BD;&#x8C61;&#x5C42;&#xFF0C;&#x5C01;&#x88C5;&#x4E86;&#x4E0D;&#x540C;&#x64CD;&#x4F5C;&#x7CFB;&#x7EDF;&#x4E00;&#x4E9B;&#x5E95;&#x5C42;&#x7279;&#x6027;&#xFF0C;&#x5BF9;&#x5916;&#x63D0;&#x4F9B;&#x7EDF;&#x4E00;&#x7684;
                                        API&#xFF0C;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x673A;&#x5236;&#x4E5F;&#x662F;&#x5B83;&#x91CC;&#x9762;&#x7684;&#x5B9E;&#x73B0;&#xFF08;&#x4E0B;&#x6587;&#x4F1A;&#x8BE6;&#x7EC6;&#x4ECB;&#x7ECD;&#xFF09;&#x3002;
                                    </p>
                                    <p><img src="https://image.fundebug.com/2019-01-14-004.png" alt="img"></p>
                                    <p>Node.js &#x7684;&#x8FD0;&#x884C;&#x673A;&#x5236;&#x5982;&#x4E0B;:</p>
                                    <ul>
                                        <li>V8 &#x5F15;&#x64CE;&#x89E3;&#x6790; JavaScript &#x811A;&#x672C;&#x3002;</li>
                                        <li>&#x89E3;&#x6790;&#x540E;&#x7684;&#x4EE3;&#x7801;&#xFF0C;&#x8C03;&#x7528;
                                            Node API&#x3002;</li>
                                        <li>libuv &#x5E93;&#x8D1F;&#x8D23; Node API
                                            &#x7684;&#x6267;&#x884C;&#x3002;&#x5B83;&#x5C06;&#x4E0D;&#x540C;&#x7684;&#x4EFB;&#x52A1;&#x5206;&#x914D;&#x7ED9;&#x4E0D;&#x540C;&#x7684;&#x7EBF;&#x7A0B;&#xFF0C;&#x5F62;&#x6210;&#x4E00;&#x4E2A;
                                            Event
                                            Loop&#xFF08;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#xFF09;&#xFF0C;&#x4EE5;&#x5F02;&#x6B65;&#x7684;&#x65B9;&#x5F0F;&#x5C06;&#x4EFB;&#x52A1;&#x7684;&#x6267;&#x884C;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#x7ED9;
                                            V8 &#x5F15;&#x64CE;&#x3002;</li>
                                        <li>V8
                                            &#x5F15;&#x64CE;&#x518D;&#x5C06;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#x7ED9;&#x7528;&#x6237;&#x3002;
                                        </li>
                                    </ul>
                                    <h3
                                        id="16-&#x2605;&#x2605;&#x2605;-&#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;">
                                        <a name="16-&#x2605;&#x2605;&#x2605;-&#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#16-&#x2605;&#x2605;&#x2605;-&#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="16-&#x2605;&#x2605;&#x2605;-&#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#16-&#x2605;&#x2605;&#x2605;-&#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-16"> 16. &#x2605;&#x2605;&#x2605;
                                            &#x5F02;&#x6B65;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF1A;
<span class="hljs-comment">/*---------1.&#x56DE;&#x8C03;&#x51FD;&#x6570;callback&#xFF1A;----------*/</span>
&#x88AB;&#x4F5C;&#x4E3A;&#x5B9E;&#x53C2;&#x4F20;&#x5165;&#x53E6;&#x4E00;&#x51FD;&#x6570;&#xFF0C;&#x5E76;&#x5728;&#x8BE5;&#x5916;&#x90E8;&#x51FD;&#x6570;&#x5185;&#x88AB;&#x8C03;&#x7528;&#xFF0C;&#x7528;&#x4EE5;&#x6765;&#x5B8C;&#x6210;&#x67D0;&#x4E9B;&#x4EFB;&#x52A1;&#x7684;&#x51FD;&#x6570;&#x3002;&#x5982;setTimeOut&#xFF0C;ajax&#x8BF7;&#x6C42;&#xFF0C;readFile&#x7B49;&#x3002;
&#x4F8B;&#xFF1A;

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">greeting</span>(<span class="hljs-params">name</span>) </span>{
  alert(<span class="hljs-string">&apos;Hello &apos;</span> + name);
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">processUserInput</span>(<span class="hljs-params">callback</span>) </span>{
  <span class="hljs-keyword">var</span> name = prompt(<span class="hljs-string">&apos;&#x8BF7;&#x8F93;&#x5165;&#x4F60;&#x7684;&#x540D;&#x5B57;&#x3002;&apos;</span>);
  callback(name);
}

processUserInput(greeting);
&#x4F18;&#x70B9;&#xFF1A;
&#x89E3;&#x51B3;&#x4E86;&#x5F02;&#x6B65;&#x7684;&#x95EE;&#x9898;&#x3002;

&#x7F3A;&#x70B9;&#xFF1A;
&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1A;&#x591A;&#x4E2A;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x5D4C;&#x5957;&#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x4F7F;&#x4EE3;&#x7801;&#x770B;&#x8D77;&#x6765;&#x5F88;&#x6DF7;&#x4E71;&#xFF0C;&#x4E0D;&#x6613;&#x4E8E;&#x7EF4;&#x62A4;&#x3002;

<span class="hljs-comment">/*---------2.&#x4E8B;&#x4EF6;&#x53D1;&#x5E03;&#x8BA2;&#x9605;&#xFF1A;---------*/</span>
&#x5F53;&#x4E00;&#x4E2A;&#x4EFB;&#x52A1;&#x6267;&#x884C;&#x5B8C;&#x6210;&#x540E;&#xFF0C;&#x4F1A;&#x53D1;&#x5E03;&#x4E00;&#x4E2A;&#x4E8B;&#x4EF6;&#xFF0C;&#x5F53;&#x8FD9;&#x4E2A;&#x4E8B;&#x4EF6;&#x6709;&#x4E00;&#x4E2A;&#x6216;&#x591A;&#x4E2A;&#x2018;&#x8BA2;&#x9605;&#x8005;&#x2019;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4F1A;&#x63A5;&#x6536;&#x5230;&#x8FD9;&#x4E2A;&#x4E8B;&#x4EF6;&#x7684;&#x53D1;&#x5E03;&#xFF0C;&#x6267;&#x884C;&#x76F8;&#x5E94;&#x7684;&#x4EFB;&#x52A1;&#xFF0C;&#x8FD9;&#x79CD;&#x6A21;&#x5F0F;&#x53EB;&#x53D1;&#x5E03;&#x8BA2;&#x9605;&#x6A21;&#x5F0F;&#x3002;&#x5982;node&#x7684;events,dom&#x7684;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;
&#x4F8B;&#xFF1A;

<span class="hljs-built_in">document</span>.body.addEventListener(<span class="hljs-string">&apos;click&apos;</span>,<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
  alert(<span class="hljs-string">&apos;&#x8BA2;&#x9605;&#x4E86;&apos;</span>);
},<span class="hljs-literal">false</span>);
<span class="hljs-built_in">document</span>.body.click(); 
&#x4F18;&#x70B9;&#xFF1A;
&#x65F6;&#x95F4;&#x5BF9;&#x8C61;&#x4E0A;&#x7684;&#x89E3;&#x8026;&#x3002;

&#x7F3A;&#x70B9;&#xFF1A;
&#x6D88;&#x8017;&#x5185;&#x5B58;&#xFF0C;&#x8FC7;&#x5EA6;&#x4F7F;&#x7528;&#x4F1A;&#x4F7F;&#x4EE3;&#x7801;&#x96BE;&#x4EE5;&#x7EF4;&#x62A4;&#x548C;&#x7406;&#x89E3;

<span class="hljs-comment">/*---------3.Promise&#xFF1A;---------*/</span>
<span class="hljs-built_in">Promise</span>&#x662F;es6&#x63D0;&#x51FA;&#x7684;&#x5F02;&#x6B65;&#x7F16;&#x7A0B;&#x7684;&#x4E00;&#x79CD;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x3002;
<span class="hljs-built_in">Promise</span> &#x5BF9;&#x8C61;&#x6709;&#x4E09;&#x79CD;&#x72B6;&#x6001;&#xFF1A;

pending: &#x521D;&#x59CB;&#x72B6;&#x6001;&#xFF0C;&#x65E2;&#x4E0D;&#x662F;&#x6210;&#x529F;&#xFF0C;&#x4E5F;&#x4E0D;&#x662F;&#x5931;&#x8D25;&#x72B6;&#x6001;&#x3002;
fulfilled: &#x610F;&#x5473;&#x7740;&#x64CD;&#x4F5C;&#x6210;&#x529F;&#x5B8C;&#x6210;&#x3002;
rejected: &#x610F;&#x5473;&#x7740;&#x64CD;&#x4F5C;&#x5931;&#x8D25;&#x3002;
promise&#x7684;&#x72B6;&#x6001;&#x53EA;&#x80FD;&#x4ECE;pending&#x53D8;&#x6210;fulfilled&#xFF0C;&#x548C;pending&#x53D8;&#x6210;rejected&#xFF0C;&#x72B6;&#x6001;&#x4E00;&#x65E6;&#x6539;&#x53D8;&#xFF0C;&#x5C31;&#x4E0D;&#x4F1A;&#x518D;&#x6539;&#x53D8;&#xFF0C;&#x4E14;&#x53EA;&#x6709;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x7684;&#x7ED3;&#x679C;&#x624D;&#x80FD;&#x6539;&#x53D8;promise&#x7684;&#x72B6;&#x6001;&#x3002;
&#x4F8B;&#xFF1A;
<span class="hljs-keyword">let</span> promise = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">resolve, reject</span>) </span>{
    fs.readFile(<span class="hljs-string">&apos;./1.txt&apos;</span>, <span class="hljs-string">&apos;utf8&apos;</span>, <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">err, data</span>) </span>{
        resolve(data)
    })
})

promise
    .then(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">data</span>) </span>{
        <span class="hljs-built_in">console</span>.log(data)
    })
&#x4F18;&#x70B9;&#xFF1A;
&#x89E3;&#x51B3;&#x4E86;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x95EE;&#x9898;&#xFF0C;&#x5C06;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x4EE5;&#x540C;&#x6B65;&#x64CD;&#x4F5C;&#x7684;&#x6D41;&#x7A0B;&#x8868;&#x8FBE;&#x51FA;&#x6765;&#x3002;

&#x7F3A;&#x70B9;&#xFF1A;
&#x65E0;&#x6CD5;&#x53D6;&#x6D88;promise&#x3002;&#x5982;&#x679C;&#x4E0D;&#x8BBE;&#x7F6E;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#xFF0C;<span class="hljs-built_in">Promise</span>&#x5185;&#x90E8;&#x629B;&#x51FA;&#x7684;&#x9519;&#x8BEF;&#xFF0C;&#x4E0D;&#x4F1A;&#x53CD;&#x5E94;&#x5230;&#x5916;&#x90E8;&#x3002;&#x5F53;&#x5904;&#x4E8E;Pending&#x72B6;&#x6001;&#x65F6;&#xFF0C;&#x65E0;&#x6CD5;&#x5F97;&#x77E5;&#x76EE;&#x524D;&#x8FDB;&#x5C55;&#x5230;&#x54EA;&#x4E00;&#x4E2A;&#x9636;&#x6BB5;&#xFF08;&#x521A;&#x521A;&#x5F00;&#x59CB;&#x8FD8;&#x662F;&#x5373;&#x5C06;&#x5B8C;&#x6210;&#xFF09;&#x3002;&#x5F53;&#x6267;&#x884C;&#x591A;&#x4E2A;<span class="hljs-built_in">Promise</span>&#x65F6;&#xFF0C;&#x4E00;&#x5806;then&#x770B;&#x8D77;&#x6765;&#x4E5F;&#x5F88;&#x4E0D;&#x53CB;&#x597D;&#x3002;

<span class="hljs-comment">/*---------4.Generator&#xFF1A;---------*/</span>
Generator&#x662F;es6&#x63D0;&#x51FA;&#x7684;&#x53E6;&#x4E00;&#x79CD;&#x5F02;&#x6B65;&#x7F16;&#x7A0B;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF0C;&#x9700;&#x8981;&#x5728;&#x51FD;&#x6570;&#x540D;&#x4E4B;&#x524D;&#x52A0;&#x4E00;&#x4E2A;*&#x53F7;&#xFF0C;&#x51FD;&#x6570;&#x5185;&#x90E8;&#x4F7F;&#x7528;<span class="hljs-keyword">yield</span>&#x8BED;&#x53E5;&#x3002;Generaotr&#x51FD;&#x6570;&#x4F1A;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x904D;&#x5386;&#x5668;&#xFF0C;&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x904D;&#x5386;&#x64CD;&#x4F5C;&#x6267;&#x884C;&#x6BCF;&#x4E2A;&#x4E2D;&#x65AD;&#x70B9;<span class="hljs-keyword">yield</span>&#x3002;
&#x4F8B;&#xFF1A;

<span class="hljs-function"><span class="hljs-keyword">function</span> * <span class="hljs-title">count</span>(<span class="hljs-params"></span>) </span>{
  <span class="hljs-keyword">yield</span> <span class="hljs-number">1</span>
  <span class="hljs-keyword">yield</span> <span class="hljs-number">2</span>
  <span class="hljs-keyword">return</span> <span class="hljs-number">3</span>
}
<span class="hljs-keyword">var</span> c = count()
<span class="hljs-built_in">console</span>.log(c.next()) <span class="hljs-comment">// { value: 1, done: false }</span>
<span class="hljs-built_in">console</span>.log(c.next()) <span class="hljs-comment">// { value: 2, done: false }</span>
<span class="hljs-built_in">console</span>.log(c.next()) <span class="hljs-comment">// { value: 3, done: true }</span>
<span class="hljs-built_in">console</span>.log(c.next()) <span class="hljs-comment">// { value: undefined, done: true }</span>
&#x4F18;&#x70B9;&#xFF1A;
&#x6CA1;&#x6709;&#x4E86;<span class="hljs-built_in">Promise</span>&#x7684;&#x4E00;&#x5806;then(),&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x66F4;&#x50CF;&#x540C;&#x6B65;&#x64CD;&#x4F5C;&#xFF0C;&#x4EE3;&#x7801;&#x66F4;&#x52A0;&#x6E05;&#x6670;&#x3002;

&#x7F3A;&#x70B9;&#xFF1A;
&#x4E0D;&#x80FD;&#x81EA;&#x52A8;&#x6267;&#x884C;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#xFF0C;&#x9700;&#x8981;&#x5199;&#x591A;&#x4E2A;next()&#x65B9;&#x6CD5;&#xFF0C;&#x9700;&#x8981;&#x914D;&#x5408;&#x4F7F;&#x7528;Thunk&#x51FD;&#x6570;&#x548C;Co&#x6A21;&#x5757;&#x624D;&#x80FD;&#x505A;&#x5230;&#x81EA;&#x52A8;&#x6267;&#x884C;&#x3002;


<span class="hljs-comment">/*---------5.async/await&#xFF1A;---------*/</span>
<span class="hljs-keyword">async</span>&#x662F;es2017&#x5F15;&#x5165;&#x7684;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF0C;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x4E3A;Generator&#x7684;&#x8BED;&#x6CD5;&#x7CD6;&#xFF0C;<span class="hljs-keyword">async</span>&#x7B49;&#x540C;&#x4E8E;Generator&#x548C;co&#x6A21;&#x5757;&#x7684;&#x5C01;&#x88C5;&#xFF0C;<span class="hljs-keyword">async</span> &#x51FD;&#x6570;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A; <span class="hljs-built_in">Promise</span>&#x3002;
&#x4F8B;&#xFF1A;

<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">read</span>(<span class="hljs-params"></span>) </span>{
 <span class="hljs-keyword">let</span> readA = <span class="hljs-keyword">await</span> readFile(<span class="hljs-string">&apos;data/a.txt&apos;</span>)
 <span class="hljs-keyword">let</span> readB = <span class="hljs-keyword">await</span> readFile(<span class="hljs-string">&apos;data/b.txt&apos;</span>)
 <span class="hljs-keyword">let</span> readC = <span class="hljs-keyword">await</span> readFile(<span class="hljs-string">&apos;data/c.txt&apos;</span>)

 <span class="hljs-built_in">console</span>.log(readA)
 <span class="hljs-built_in">console</span>.log(readB)
 <span class="hljs-built_in">console</span>.log(readC)
}

read()
&#x4F18;&#x70B9;&#xFF1A;
&#x5185;&#x7F6E;&#x6267;&#x884C;&#x5668;&#xFF0C;&#x6BD4;Generator&#x64CD;&#x4F5C;&#x66F4;&#x7B80;&#x5355;&#x3002;<span class="hljs-keyword">async</span>/<span class="hljs-keyword">await</span>&#x6BD4;*<span class="hljs-keyword">yield</span>&#x8BED;&#x4E49;&#x66F4;&#x6E05;&#x6670;&#x3002;&#x8FD4;&#x56DE;&#x503C;&#x662F;<span class="hljs-built_in">Promise</span>&#x5BF9;&#x8C61;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;then&#x6307;&#x5B9A;&#x4E0B;&#x4E00;&#x6B65;&#x64CD;&#x4F5C;&#x3002;&#x4EE3;&#x7801;&#x66F4;&#x6574;&#x6D01;&#x3002;&#x53EF;&#x4EE5;&#x6355;&#x83B7;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x9519;&#x8BEF;&#x3002;
</code></pre>
                                    <h3
                                        id="17-&#x2605;&#x2605;&#x2605;-async-&#x548C;-await-&#x3001;promise&#x7684;&#x533A;&#x522B;-&#x548C;-&#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;">
                                        <a name="17-&#x2605;&#x2605;&#x2605;-async-&#x548C;-await-&#x3001;promise&#x7684;&#x533A;&#x522B;-&#x548C;-&#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#17-&#x2605;&#x2605;&#x2605;-async-&#x548C;-await-&#x3001;promise&#x7684;&#x533A;&#x522B;-&#x548C;-&#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="17-&#x2605;&#x2605;&#x2605;-async-&#x548C;-await-&#x3001;promise&#x7684;&#x533A;&#x522B;-&#x548C;-&#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;"
                                            class="plugin-anchor"
                                            href="#17-&#x2605;&#x2605;&#x2605;-async-&#x548C;-await-&#x3001;promise&#x7684;&#x533A;&#x522B;-&#x548C;-&#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-17"> 17. &#x2605;&#x2605;&#x2605; async &#x548C; await
                                            &#x3001;promise&#x7684;&#x533A;&#x522B; &#x548C;
                                            &#x8FD9;&#x4E24;&#x4E2A;&#x7684;&#x672C;&#x8D28;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">/*---------Promise&#x6982;&#x5FF5;&#xFF1A;---------*/</span>
<span class="hljs-built_in">Promise</span> &#x662F;&#x5F02;&#x6B65;&#x7F16;&#x7A0B;&#x7684;&#x4E00;&#x79CD;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF0C;&#x6BD4;&#x4F20;&#x7EDF;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x2014;&#x2014;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x548C;&#x4E8B;&#x4EF6;&#x2014;&#x2014;&#x66F4;&#x5408;&#x7406;&#x548C;&#x66F4;&#x5F3A;&#x5927;&#xFF0C;&#x7B80;&#x5355;&#x5730;&#x8BF4;&#xFF0C;<span class="hljs-built_in">Promise</span>&#x597D;&#x6BD4;&#x5BB9;&#x5668;&#xFF0C;&#x91CC;&#x9762;&#x5B58;&#x653E;&#x7740;&#x4E00;&#x4E9B;&#x672A;&#x6765;&#x624D;&#x4F1A;&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#xFF08;&#x5F02;&#x6B65;&#xFF09;&#x7684;&#x4E8B;&#x4EF6;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x800C;&#x8FD9;&#x4E9B;&#x7ED3;&#x679C;&#x4E00;&#x65E6;&#x751F;&#x6210;&#x662F;&#x65E0;&#x6CD5;&#x6539;&#x53D8;&#x7684;

<span class="hljs-comment">/*---------async await&#x6982;&#x5FF5;&#xFF1A;---------*/</span>
<span class="hljs-keyword">async</span> <span class="hljs-keyword">await</span>&#x4E5F;&#x662F;&#x5F02;&#x6B65;&#x7F16;&#x7A0B;&#x7684;&#x4E00;&#x79CD;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF0C;&#x4ED6;&#x9075;&#x5FAA;&#x7684;&#x662F;Generator &#x51FD;&#x6570;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;&#xFF0C;&#x4ED6;&#x62E5;&#x6709;&#x5185;&#x7F6E;&#x6267;&#x884C;&#x5668;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x989D;&#x5916;&#x7684;&#x8C03;&#x7528;&#x76F4;&#x63A5;&#x4F1A;&#x81EA;&#x52A8;&#x6267;&#x884C;&#x5E76;&#x8F93;&#x51FA;&#x7ED3;&#x679C;&#xFF0C;&#x5B83;&#x8FD4;&#x56DE;&#x7684;&#x662F;&#x4E00;&#x4E2A;<span class="hljs-built_in">Promise</span>&#x5BF9;&#x8C61;&#x3002;

&#x4E24;&#x8005;&#x7684;&#x533A;&#x522B;&#xFF1A;
<span class="hljs-built_in">Promise</span>&#x7684;&#x51FA;&#x73B0;&#x89E3;&#x51B3;&#x4E86;&#x4F20;&#x7EDF;callback&#x51FD;&#x6570;&#x5BFC;&#x81F4;&#x7684;&#x201C;&#x5730;&#x57DF;&#x56DE;&#x8C03;&#x201D;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x5B83;&#x7684;&#x8BED;&#x6CD5;&#x5BFC;&#x81F4;&#x4E86;&#x5B83;&#x5411;&#x7EB5;&#x5411;&#x53D1;&#x5C55;&#x884C;&#x6210;&#x4E86;&#x4E00;&#x4E2A;&#x56DE;&#x8C03;&#x94FE;&#xFF0C;&#x9047;&#x5230;&#x590D;&#x6742;&#x7684;&#x4E1A;&#x52A1;&#x573A;&#x666F;&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x8BED;&#x6CD5;&#x663E;&#x7136;&#x4E5F;&#x662F;&#x4E0D;&#x7F8E;&#x89C2;&#x7684;&#x3002;&#x800C;<span class="hljs-keyword">async</span> <span class="hljs-keyword">await</span>&#x4EE3;&#x7801;&#x770B;&#x8D77;&#x6765;&#x4F1A;&#x7B80;&#x6D01;&#x4E9B;&#xFF0C;&#x4F7F;&#x5F97;&#x5F02;&#x6B65;&#x4EE3;&#x7801;&#x770B;&#x8D77;&#x6765;&#x50CF;&#x540C;&#x6B65;&#x4EE3;&#x7801;&#xFF0C;<span class="hljs-keyword">await</span>&#x7684;&#x672C;&#x8D28;&#x662F;&#x53EF;&#x4EE5;&#x63D0;&#x4F9B;&#x7B49;&#x540C;&#x4E8E;&#x201D;&#x540C;&#x6B65;&#x6548;&#x679C;&#x201C;&#x7684;&#x7B49;&#x5F85;&#x5F02;&#x6B65;&#x8FD4;&#x56DE;&#x80FD;&#x529B;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;&#xFF0C;&#x53EA;&#x6709;&#x8FD9;&#x4E00;&#x53E5;&#x4EE3;&#x7801;&#x6267;&#x884C;&#x5B8C;&#xFF0C;&#x624D;&#x4F1A;&#x6267;&#x884C;&#x4E0B;&#x4E00;&#x53E5;&#x3002;

<span class="hljs-keyword">async</span> <span class="hljs-keyword">await</span>&#x4E0E;<span class="hljs-built_in">Promise</span>&#x4E00;&#x6837;&#xFF0C;&#x662F;&#x975E;&#x963B;&#x585E;&#x7684;&#x3002;

<span class="hljs-keyword">async</span> <span class="hljs-keyword">await</span>&#x662F;&#x57FA;&#x4E8E;<span class="hljs-built_in">Promise</span>&#x5B9E;&#x73B0;&#x7684;&#xFF0C;&#x53EF;&#x4EE5;&#x8BF4;&#x662F;&#x6539;&#x826F;&#x7248;&#x7684;<span class="hljs-built_in">Promise</span>&#xFF0C;&#x5B83;&#x4E0D;&#x80FD;&#x7528;&#x4E8E;&#x666E;&#x901A;&#x7684;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x3002;
</code></pre>
                                    <h3
                                        id="18-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-aync-await-&#x7684;&#x597D;&#x5904;">
                                        <a name="18-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-aync-await-&#x7684;&#x597D;&#x5904;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#18-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-aync-await-&#x7684;&#x597D;&#x5904;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="18-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-aync-await-&#x7684;&#x597D;&#x5904;"
                                            class="plugin-anchor"
                                            href="#18-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-aync-await-&#x7684;&#x597D;&#x5904;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-18"> 18. &#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0; aync await
                                            &#x7684;&#x597D;&#x5904;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> <span class="hljs-keyword">async</span>/<span class="hljs-keyword">await</span>&#x6700;&#x91CD;&#x8981;&#x7684;&#x597D;&#x5904;&#x662F;&#x540C;&#x6B65;&#x7F16;&#x7A0B;&#x98CE;&#x683C;
<span class="hljs-number">2.</span> <span class="hljs-keyword">async</span>/<span class="hljs-keyword">await</span>&#x6709;&#x672C;&#x5730;&#x6D4F;&#x89C8;&#x5668;&#x652F;&#x6301;&#x3002;&#x622A;&#x81F3;&#x4ECA;&#x5929;&#xFF0C;&#x6240;&#x6709;&#x4E3B;&#x6D41;&#x6D4F;&#x89C8;&#x5668; &#x67E5;&#x770B;&#x90FD;&#x5B8C;&#x5168;&#x652F;&#x6301;&#x5F02;&#x6B65;&#x529F;&#x80FD;&#x3002;
<span class="hljs-number">3.</span> <span class="hljs-keyword">async</span>&#x5173;&#x952E;&#x5B57;&#x3002;&#x5B83;&#x58F0;&#x660E; getBooksByAuthorWithAwait()&#x51FD;&#x6570;&#x8FD4;&#x56DE;&#x503C;&#x786E;&#x4FDD;&#x662F;&#x4E00;&#x4E2A; promise&#xFF0C;&#x4EE5;&#x4FBF;&#x8C03;&#x7528;&#x8005;&#x53EF;&#x4EE5;&#x5B89;&#x5168;&#x8C03;&#x7528; getBooksByAuthorWithAwait().then(...)&#x6216; <span class="hljs-keyword">await</span> getBooksByAuthorWithAwait()
</code></pre>
                                    <h3
                                        id="19-&#x2605;&#x2605;&#x2605;-&#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6;-300ms-&#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="19-&#x2605;&#x2605;&#x2605;-&#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6;-300ms-&#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#19-&#x2605;&#x2605;&#x2605;-&#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6;-300ms-&#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="19-&#x2605;&#x2605;&#x2605;-&#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6;-300ms-&#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#19-&#x2605;&#x2605;&#x2605;-&#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6;-300ms-&#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-19"> 19. &#x2605;&#x2605;&#x2605;
                                            &#x79FB;&#x52A8;&#x7AEF;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6; 300ms
                                            &#x5EF6;&#x8FDF;&#x5982;&#x4F55;&#x53BB;&#x6389;&#xFF1F;&#x539F;&#x56E0;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">300</span>&#x6BEB;&#x79D2;&#x539F;&#x56E0;&#xFF1A;
&#x5F53;&#x7528;&#x6237;&#x7B2C;&#x4E00;&#x6B21;&#x70B9;&#x51FB;&#x5C4F;&#x5E55;&#x540E;&#xFF0C;&#x9700;&#x8981;&#x5224;&#x65AD;&#x7528;&#x6237;&#x662F;&#x5426;&#x8981;&#x8FDB;&#x884C;&#x53CC;&#x51FB;&#x64CD;&#x4F5C;&#xFF0C;&#x4E8E;&#x662F;&#x624B;&#x673A;&#x4F1A;&#x7B49;&#x5F85;<span class="hljs-number">300</span>&#x6BEB;&#x79D2;&#xFF0C;
&#x89E3;&#x51B3;&#x65B9;&#x6CD5;&#xFF1A;FastClick.js
FastClick &#x662F; FT Labs &#x4E13;&#x95E8;&#x4E3A;&#x89E3;&#x51B3;&#x79FB;&#x52A8;&#x7AEF;&#x6D4F;&#x89C8;&#x5668; <span class="hljs-number">300</span> &#x6BEB;&#x79D2;&#x70B9;&#x51FB;&#x5EF6;&#x8FDF;&#x95EE;&#x9898;&#x6240;&#x5F00;&#x53D1;&#x7684;&#x4E00;&#x4E2A;&#x8F7B;&#x91CF;&#x7EA7;&#x7684;&#x5E93;&#x3002;FastClick&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#x662F;&#x5728;&#x68C0;&#x6D4B;&#x5230;touchend&#x4E8B;&#x4EF6;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4F1A;&#x901A;&#x8FC7;DOM&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#x7ACB;&#x5373;&#x51FA;&#x53D1;&#x6A21;&#x62DF;&#x4E00;&#x4E2A;click&#x4E8B;&#x4EF6;&#xFF0C;&#x5E76;&#x628A;&#x6D4F;&#x89C8;&#x5668;&#x5728;<span class="hljs-number">300</span>ms&#x4E4B;&#x540E;&#x7684;click&#x4E8B;&#x4EF6;&#x963B;&#x6B62;&#x6389;&#x3002;
</code></pre>
                                    <h3
                                        id="20-&#x2605;&#x2605;&#x2605;-cookie-&#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;httponly&#xFF0C;secure&#xFF0C;expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;">
                                        <a name="20-&#x2605;&#x2605;&#x2605;-cookie-&#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;httponly&#xFF0C;secure&#xFF0C;expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#20-&#x2605;&#x2605;&#x2605;-cookie-&#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;httponly&#xFF0C;secure&#xFF0C;expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="20-&#x2605;&#x2605;&#x2605;-cookie-&#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;httponly&#xFF0C;secure&#xFF0C;expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#20-&#x2605;&#x2605;&#x2605;-cookie-&#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;httponly&#xFF0C;secure&#xFF0C;expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-20"> 20. &#x2605;&#x2605;&#x2605; Cookie
                                            &#x6709;&#x54EA;&#x4E9B;&#x5C5E;&#x6027;&#xFF1F;&#x5176;&#x4E2D;HttpOnly&#xFF0C;Secure&#xFF0C;Expire&#x5206;&#x522B;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">Cookie&#x5C5E;&#x6027;&#xFF1A;
name&#x3000;&#x3000;&#x5B57;&#x6BB5;&#x4E3A;&#x4E00;&#x4E2A;cookie&#x7684;&#x540D;&#x79F0;&#x3002;
value&#x3000;&#x3000;&#x5B57;&#x6BB5;&#x4E3A;&#x4E00;&#x4E2A;cookie&#x7684;&#x503C;&#x3002;
domain&#x3000;&#x3000;&#x5B57;&#x6BB5;&#x4E3A;&#x53EF;&#x4EE5;&#x8BBF;&#x95EE;&#x6B64;cookie&#x7684;&#x57DF;&#x540D;&#x3002;
path&#x3000;&#x3000;&#x5B57;&#x6BB5;&#x4E3A;&#x53EF;&#x4EE5;&#x8BBF;&#x95EE;&#x6B64;cookie&#x7684;&#x9875;&#x9762;&#x8DEF;&#x5F84;&#x3002; &#x6BD4;&#x5982;domain&#x662F;abc.com,path&#x662F;/test&#xFF0C;&#x90A3;&#x4E48;&#x53EA;&#x6709;/test&#x8DEF;&#x5F84;&#x4E0B;&#x7684;&#x9875;&#x9762;&#x53EF;&#x4EE5;&#x8BFB;&#x53D6;&#x6B64;cookie&#x3002;
expires/Max-Age &#x3000;&#x3000;&#x5B57;&#x6BB5;&#x4E3A;&#x6B64;cookie&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#x3002;&#x82E5;&#x8BBE;&#x7F6E;&#x5176;&#x503C;&#x4E3A;&#x4E00;&#x4E2A;&#x65F6;&#x95F4;&#xFF0C;&#x90A3;&#x4E48;&#x5F53;&#x5230;&#x8FBE;&#x6B64;&#x65F6;&#x95F4;&#x540E;&#xFF0C;&#x6B64;cookie&#x5931;&#x6548;&#x3002;&#x4E0D;&#x8BBE;&#x7F6E;&#x7684;&#x8BDD;&#x9ED8;&#x8BA4;&#x503C;&#x662F;Session&#xFF0C;&#x610F;&#x601D;&#x662F;cookie&#x4F1A;&#x548C;session&#x4E00;&#x8D77;&#x5931;&#x6548;&#x3002;&#x5F53;&#x6D4F;&#x89C8;&#x5668;&#x5173;&#x95ED;(&#x4E0D;&#x662F;&#x6D4F;&#x89C8;&#x5668;&#x6807;&#x7B7E;&#x9875;&#xFF0C;&#x800C;&#x662F;&#x6574;&#x4E2A;&#x6D4F;&#x89C8;&#x5668;) &#x540E;&#xFF0C;&#x6B64;cookie&#x5931;&#x6548;&#x3002;
Size&#x3000;&#x3000;&#x5B57;&#x6BB5; &#x6B64;cookie&#x5927;&#x5C0F;&#x3002;
http&#x3000;&#x3000;&#x5B57;&#x6BB5;  cookie&#x7684;httponly&#x5C5E;&#x6027;&#x3002;&#x82E5;&#x6B64;&#x5C5E;&#x6027;&#x4E3A;<span class="hljs-literal">true</span>&#xFF0C;&#x5219;&#x53EA;&#x6709;&#x5728;http&#x8BF7;&#x6C42;&#x5934;&#x4E2D;&#x4F1A;&#x5E26;&#x6709;&#x6B64;cookie&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x800C;&#x4E0D;&#x80FD;&#x901A;&#x8FC7;<span class="hljs-built_in">document</span>.cookie&#x6765;&#x8BBF;&#x95EE;&#x6B64;cookie&#x3002;
secure&#x3000;&#x3000; &#x5B57;&#x6BB5; &#x8BBE;&#x7F6E;&#x662F;&#x5426;&#x53EA;&#x80FD;&#x901A;&#x8FC7;https&#x6765;&#x4F20;&#x9012;&#x6B64;&#x6761;cookie

<span class="hljs-number">1</span> secure&#x5C5E;&#x6027;
&#x5F53;&#x8BBE;&#x7F6E;&#x4E3A;<span class="hljs-literal">true</span>&#x65F6;&#xFF0C;&#x8868;&#x793A;&#x521B;&#x5EFA;&#x7684; Cookie &#x4F1A;&#x88AB;&#x4EE5;&#x5B89;&#x5168;&#x7684;&#x5F62;&#x5F0F;&#x5411;&#x670D;&#x52A1;&#x5668;&#x4F20;&#x8F93;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x53EA;&#x80FD;&#x5728; HTTPS &#x8FDE;&#x63A5;&#x4E2D;&#x88AB;&#x6D4F;&#x89C8;&#x5668;&#x4F20;&#x9012;&#x5230;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x8FDB;&#x884C;&#x4F1A;&#x8BDD;&#x9A8C;&#x8BC1;&#xFF0C;&#x5982;&#x679C;&#x662F; HTTP &#x8FDE;&#x63A5;&#x5219;&#x4E0D;&#x4F1A;&#x4F20;&#x9012;&#x8BE5;&#x4FE1;&#x606F;&#xFF0C;&#x6240;&#x4EE5;&#x4E0D;&#x4F1A;&#x88AB;&#x7A83;&#x53D6;&#x5230;Cookie &#x7684;&#x5177;&#x4F53;&#x5185;&#x5BB9;&#x3002;
<span class="hljs-number">2</span> HttpOnly&#x5C5E;&#x6027;
&#x5982;&#x679C;&#x5728;Cookie&#x4E2D;&#x8BBE;&#x7F6E;&#x4E86;<span class="hljs-string">&quot;HttpOnly&quot;</span>&#x5C5E;&#x6027;&#xFF0C;&#x90A3;&#x4E48;&#x901A;&#x8FC7;&#x7A0B;&#x5E8F;(JS&#x811A;&#x672C;&#x3001;Applet&#x7B49;)&#x5C06;&#x65E0;&#x6CD5;&#x8BFB;&#x53D6;&#x5230;Cookie&#x4FE1;&#x606F;&#xFF0C;&#x8FD9;&#x6837;&#x80FD;&#x6709;&#x6548;&#x7684;&#x9632;&#x6B62;XSS&#x653B;&#x51FB;&#x3002;
<span class="hljs-number">3</span> Expire&#x5C5E;&#x6027;
&#x8BBE;&#x7F6E;Cookie&#x7684;&#x5931;&#x6548;&#x65F6;&#x95F4;&#xFF1A;
</code></pre>
                                    <h3
                                        id="21-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;-add123">
                                        <a name="21-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;-add123"
                                            class="anchor-navigation-ex-anchor"
                                            href="#21-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;-add123"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="21-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;-add123"
                                            class="plugin-anchor"
                                            href="#21-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;-add123"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-21"> 21. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x7684;&#x67EF;&#x91CC;&#x5316;&#xFF1F;&#x6BD4;&#x5982;
                                            add(1)(2)(3)</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">/*-----&#x89E3;&#x51B3;&#x65B9;&#x6CD5;1&#xFF1A;-----*/</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add</span> (<span class="hljs-params"></span>) </span>{
  <span class="hljs-keyword">var</span> args = <span class="hljs-built_in">Array</span>.prototype.slice.call(<span class="hljs-built_in">arguments</span>);

  <span class="hljs-keyword">var</span> fn = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
    <span class="hljs-keyword">var</span> sub_arg = <span class="hljs-built_in">Array</span>.prototype.slice.call(<span class="hljs-built_in">arguments</span>);
&#x3000;&#x3000; <span class="hljs-comment">// &#x628A;&#x5168;&#x90E8;&#x7684;&#x53C2;&#x6570;&#x805A;&#x96C6;&#x5230;&#x53C2;&#x6570;&#x7684;&#x5165;&#x53E3;&#x4E3A;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#xFF1A; args.concat(sub_arg)</span>
    <span class="hljs-keyword">return</span> add.apply(<span class="hljs-literal">null</span>, args.concat(sub_arg));
  }

  fn.valueOf = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
  <span class="hljs-keyword">return</span> args.reduce(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">a, b</span>) </span>{
      <span class="hljs-keyword">return</span> a + b;
    })
  }

  <span class="hljs-keyword">return</span> fn;
}
<span class="hljs-built_in">console</span>.log(add(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>)) <span class="hljs-comment">// 3</span>
<span class="hljs-built_in">console</span>.log(add(<span class="hljs-number">1</span>)(<span class="hljs-number">2</span>)) <span class="hljs-comment">// 3</span>
<span class="hljs-built_in">console</span>.log(add(<span class="hljs-number">1</span>)(<span class="hljs-number">2</span>)(<span class="hljs-number">3</span>)) <span class="hljs-comment">// 6</span>
<span class="hljs-built_in">console</span>.log(add(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>)(<span class="hljs-number">4</span>)) <span class="hljs-comment">// 10</span>

<span class="hljs-comment">/*-----&#x89E3;&#x51B3;&#x65B9;&#x6CD5;2&#xFF1A;-----*/</span>

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add</span> (<span class="hljs-params"></span>) </span>{
    <span class="hljs-keyword">var</span> args = <span class="hljs-built_in">Array</span>.prototype.slice.call(<span class="hljs-built_in">arguments</span>);

    <span class="hljs-keyword">var</span> fn = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
        <span class="hljs-comment">// &#x628A;&#x53C2;&#x6570;&#x90FD;&#x653E;&#x5728;&#x4E00;&#x4E2A;&#x76F8;&#x5F53;&#x4E8E;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#x7684; args &#x91CC;&#x9762;&#x3000;</span>
        args.push(...arguments)
        <span class="hljs-keyword">return</span> fn;
    }

    fn.valueOf = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
        <span class="hljs-keyword">return</span> args.reduce(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">a, b</span>) </span>{
            <span class="hljs-keyword">return</span> a + b;
        })
    }

    <span class="hljs-keyword">return</span> fn;
}
<span class="hljs-built_in">console</span>.log(add(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>)) <span class="hljs-comment">// 3</span>
<span class="hljs-built_in">console</span>.log(add(<span class="hljs-number">1</span>)(<span class="hljs-number">2</span>)) <span class="hljs-comment">// 3</span>
<span class="hljs-built_in">console</span>.log(add(<span class="hljs-number">1</span>)(<span class="hljs-number">2</span>)(<span class="hljs-number">3</span>)) <span class="hljs-comment">// 6</span>
<span class="hljs-built_in">console</span>.log(add(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>)(<span class="hljs-number">4</span>)) <span class="hljs-comment">// 10</span>
</code></pre>
                                    <h3
                                        id="22-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;">
                                        <a name="22-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#22-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="22-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;"
                                            class="plugin-anchor"
                                            href="#22-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-22"> 22. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x4EC0;&#x4E48;&#x662F;&#x53CD;&#x67EF;&#x91CC;&#x5316;</p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x5728;JavaScript&#x4E2D;&#xFF0C;&#x5F53;&#x6211;&#x4EEC;&#x8C03;&#x7528;&#x5BF9;&#x8C61;&#x7684;&#x67D0;&#x4E2A;&#x65B9;&#x6CD5;&#x65F6;&#xFF0C;&#x5176;&#x5B9E;&#x4E0D;&#x7528;&#x53BB;&#x5173;&#x5FC3;&#x8BE5;&#x5BF9;&#x8C61;&#x539F;&#x672C;&#x662F;&#x5426;&#x88AB;&#x8BBE;&#x8BA1;&#x4E3A;&#x62E5;&#x6709;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x8FD9;&#x662F;&#x52A8;&#x6001;&#x7C7B;&#x578B;&#x8BED;&#x8A00;&#x7684;&#x7279;&#x70B9;&#x3002;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x53CD;&#x67EF;&#x91CC;&#x5316;(uncurrying)&#x51FD;&#x6570;&#x5B9E;&#x73B0;&#xFF0C;&#x8BA9;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x53BB;&#x501F;&#x7528;&#x4E00;&#x4E2A;&#x539F;&#x672C;&#x4E0D;&#x5C5E;&#x4E8E;&#x4ED6;&#x7684;&#x65B9;&#x6CD5;&#x3002;
</code></pre>
                                    <h3 id="23-&#x2605;&#x2605;-&#x5C06;-12-&#x4E0E;-34-&#x5408;&#x5E76;&#x4E3A;-1234">
                                        <a name="23-&#x2605;&#x2605;-&#x5C06;-12-&#x4E0E;-34-&#x5408;&#x5E76;&#x4E3A;-1234"
                                            class="anchor-navigation-ex-anchor"
                                            href="#23-&#x2605;&#x2605;-&#x5C06;-12-&#x4E0E;-34-&#x5408;&#x5E76;&#x4E3A;-1234"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="23-&#x2605;&#x2605;-&#x5C06;-12-&#x4E0E;-34-&#x5408;&#x5E76;&#x4E3A;-1234"
                                            class="plugin-anchor"
                                            href="#23-&#x2605;&#x2605;-&#x5C06;-12-&#x4E0E;-34-&#x5408;&#x5E76;&#x4E3A;-1234"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-23"> 23. &#x2605;&#x2605; &#x5C06; [1,2] &#x4E0E; [3,[4]]
                                            &#x5408;&#x5E76;&#x4E3A; [1,2,3,[4]]</p>
                                    </h3>
                                    <pre><code class="lang-JS">JS&#x6570;&#x7EC4;&#x5408;&#x5E76;&#x65B9;&#x6CD5;:
<span class="hljs-keyword">let</span> arr3 = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>].concat([<span class="hljs-number">3</span>,[<span class="hljs-number">4</span>]]);    <span class="hljs-comment">//[1,2,3,[4]]</span>
</code></pre>
                                    <h3
                                        id="24-&#x2605;&#x2605;-arrayforeach-&#x4E0E;-arraymap-&#x7684;&#x533A;&#x522B;&#xFF0C;arrayslice-&#x4E0E;-arraysplice-&#x7684;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="24-&#x2605;&#x2605;-arrayforeach-&#x4E0E;-arraymap-&#x7684;&#x533A;&#x522B;&#xFF0C;arrayslice-&#x4E0E;-arraysplice-&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#24-&#x2605;&#x2605;-arrayforeach-&#x4E0E;-arraymap-&#x7684;&#x533A;&#x522B;&#xFF0C;arrayslice-&#x4E0E;-arraysplice-&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="24-&#x2605;&#x2605;-arrayforeach-&#x4E0E;-arraymap-&#x7684;&#x533A;&#x522B;&#xFF0C;arrayslice-&#x4E0E;-arraysplice-&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#24-&#x2605;&#x2605;-arrayforeach-&#x4E0E;-arraymap-&#x7684;&#x533A;&#x522B;&#xFF0C;arrayslice-&#x4E0E;-arraysplice-&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-24"> 24. &#x2605;&#x2605; Array.forEach() &#x4E0E; Array.map()
                                            &#x7684;&#x533A;&#x522B;&#xFF0C;Array.slice() &#x4E0E; Array.splice()
                                            &#x7684;&#x533A;&#x522B;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">/*-----forEach-----*/</span>
forEach&#x4E0D;&#x652F;&#x6301;<span class="hljs-keyword">return</span>,&#x5BF9;&#x539F;&#x6765;&#x7684;&#x6570;&#x7EC4;&#x4E5F;&#x6CA1;&#x6709;&#x5F71;&#x54CD;&#x3002;&#x4F46;&#x662F;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x81EA;&#x5DF1;&#x901A;&#x8FC7;&#x6570;&#x7EC4;&#x7684;&#x7D22;&#x5F15;&#x6765;&#x4FEE;&#x6539;&#x539F;&#x6765;&#x7684;&#x6570;&#x7EC4;

<span class="hljs-keyword">var</span> ary = [<span class="hljs-number">12</span>,<span class="hljs-number">23</span>,<span class="hljs-number">24</span>,<span class="hljs-number">42</span>,<span class="hljs-number">1</span>];
<span class="hljs-keyword">var</span> res = ary.forEach(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">item,index,input</span>) </span>{
     input[index] = item*<span class="hljs-number">10</span>;
})
<span class="hljs-built_in">console</span>.log(res);<span class="hljs-comment">//--&gt;undefined;</span>
<span class="hljs-built_in">console</span>.log(ary);<span class="hljs-comment">//--&gt;&#x4F1A;&#x5BF9;&#x539F;&#x6765;&#x7684;&#x6570;&#x7EC4;&#x4EA7;&#x751F;&#x6539;&#x53D8;&#xFF1B;</span>
<span class="hljs-comment">/*-----map-----*/</span>
map&#x652F;&#x6301;<span class="hljs-keyword">return</span>&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x4E5F;&#x4E0D;&#x5F71;&#x54CD;&#x539F;&#x6570;&#x7EC4;&#xFF0C;&#x4F46;&#x662F;&#x4F1A;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x6570;&#x7EC4;

<span class="hljs-keyword">var</span> ary = [<span class="hljs-number">12</span>,<span class="hljs-number">23</span>,<span class="hljs-number">24</span>,<span class="hljs-number">42</span>,<span class="hljs-number">1</span>];
<span class="hljs-keyword">var</span> res = ary.map(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">item,index,input</span>) </span>{
     <span class="hljs-keyword">return</span> item*<span class="hljs-number">10</span>;
})
<span class="hljs-built_in">console</span>.log(res);<span class="hljs-comment">//--&gt;[120,230,240,420,10];</span>
<span class="hljs-built_in">console</span>.log(ary);<span class="hljs-comment">//--&gt;[12,23,24,42,1]&#xFF1B;</span>

array.slice(start,end)&#x51FD;&#x6570;&#x662F;&#x53D6;array&#x6570;&#x7EC4;&#x4E2D;&#x6307;&#x5B9A;&#x7684;&#x4E00;&#x4E9B;&#x5143;&#x7D20;&#xFF1A;
&#x6839;&#x636E;&#x6570;&#x7EC4;&#x4E0B;&#x6807;start&#x548C;end&#xFF0C;&#x4E24;&#x4E2A;&#x53C2;&#x6570;&#x4E3A;&#x53D6;&#x503C;&#x7684;&#x5F00;&#x59CB;&#x548C;&#x7ED3;&#x675F;&#x4E0B;&#x6807;&#xFF0C;&#x53D6;&#x51FA;&#x7684;&#x503C;&#x4E0D;&#x5305;&#x62EC;end&#x4F4D;&#x7F6E;&#x7684;&#x503C;&#xFF0C;&#x751F;&#x6210;&#x4E00;&#x4E2A;&#x65B0;&#x6570;&#x7EC4;&#x4F5C;&#x4E3A;&#x8FD4;&#x56DE;&#x503C;&#xFF1B;
&#x8FD9;&#x91CC;end&#x53EF;&#x4EE5;&#x4E3A;&#x7A7A;&#xFF0C;&#x4E3A;&#x7A7A;&#x5219;&#x53D6;&#x4ECE;start&#x4F4D;&#x7F6E;&#x5230;&#x6570;&#x7EC4;&#x7ED3;&#x5C3E;&#x7684;&#x5143;&#x7D20;&#xFF0C;&#x751F;&#x6210;&#x65B0;&#x6570;&#x7EC4;&#x3002;

array.splice(start,length,insert_one......)&#x51FD;&#x6570;&#x5219;&#x662F;&#x76F4;&#x63A5;&#x5728;&#x539F;&#x6570;&#x7EC4;&#x8FDB;&#x884C;&#x5220;&#x9664;&#x3001;&#x6DFB;&#x52A0;&#x3001;&#x66FF;&#x6362;&#x5143;&#x7D20;&#x7684;&#x64CD;&#x4F5C;&#xFF1A;
start&#x4E3A;&#x6570;&#x7EC4;&#x5220;&#x9664;&#x5143;&#x7D20;&#x7684;&#x5F00;&#x59CB;&#x4E0B;&#x6807;&#xFF0C;
length&#x4E3A;&#x4ECE;start&#x4F4D;&#x7F6E;&#x5F00;&#x59CB;array&#x5220;&#x9664;&#x5143;&#x7D20;&#x7684;&#x4E2A;&#x6570;&#xFF0C;
&#x540E;&#x9762;&#x53C2;&#x6570;&#x4E3A;&#x5220;&#x9664;&#x4E4B;&#x540E;array&#x91CD;&#x65B0;&#x63D2;&#x5165;&#x7684;&#x6570;&#x636E;&#x5185;&#x5BB9;&#xFF0C;&#x63D2;&#x5165;&#x4F4D;&#x7F6E;&#x4E3A;&#x5220;&#x9664;&#x4F4D;&#x7F6E;&#xFF0C;&#x800C;&#x975E;&#x6570;&#x7EC4;&#x5F00;&#x5934;&#x6216;&#x672B;&#x5C3E;&#xFF0C;
&#x8FD4;&#x56DE;&#x503C;&#x4E3A;array&#x5220;&#x9664;&#x7684;&#x5143;&#x7D20;&#x7EC4;&#x6210;&#x7684;&#x6570;&#x7EC4;&#x3002;
&#x663E;&#x800C;&#x6613;&#x89C1;&#xFF0C;splice&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x5BF9;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x8FDB;&#x884C;&#x66FF;&#x6362;&#x3002;&#x7531;splice&#x64CD;&#x4F5C;&#x540E;&#x7684;&#x6570;&#x7EC4;array&#xFF0C;&#x6570;&#x7EC4;&#x4E2D;&#x5185;&#x5BB9;&#x5982;&#x679C;&#x5DF2;&#x7ECF;&#x6539;&#x53D8;&#xFF0C;&#x5C31;&#x518D;&#x4E5F;&#x627E;&#x4E0D;&#x56DE;array&#x5728;splice&#x4E4B;&#x524D;&#x7684;&#x6A21;&#x6837;&#x3002;
</code></pre>
                                    <h3 id="25-&#x2605;&#x2605;-&#x5C06;-1234567-&#x8F6C;&#x6362;&#x4E3A;-1234567"><a
                                            name="25-&#x2605;&#x2605;-&#x5C06;-1234567-&#x8F6C;&#x6362;&#x4E3A;-1234567"
                                            class="anchor-navigation-ex-anchor"
                                            href="#25-&#x2605;&#x2605;-&#x5C06;-1234567-&#x8F6C;&#x6362;&#x4E3A;-1234567"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="25-&#x2605;&#x2605;-&#x5C06;-1234567-&#x8F6C;&#x6362;&#x4E3A;-1234567"
                                            class="plugin-anchor"
                                            href="#25-&#x2605;&#x2605;-&#x5C06;-1234567-&#x8F6C;&#x6362;&#x4E3A;-1234567"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-25"> 25. &#x2605;&#x2605; &#x5C06; 1234567 &#x8F6C;&#x6362;&#x4E3A;
                                            1,234,567</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fun</span>(<span class="hljs-params">n</span>)</span>{
    <span class="hljs-keyword">return</span> <span class="hljs-built_in">String</span>(n).replace(<span class="hljs-regexp">/(?!^)(?=(\d{3})+\.)/g</span>, <span class="hljs-string">&quot;,&quot;</span>) 
}
</code></pre>
                                    <h3
                                        id="26-&#x2605;&#x2605;&#x2605;-bind-&#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="26-&#x2605;&#x2605;&#x2605;-bind-&#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#26-&#x2605;&#x2605;&#x2605;-bind-&#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="26-&#x2605;&#x2605;&#x2605;-bind-&#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#26-&#x2605;&#x2605;&#x2605;-bind-&#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-26"> 26. &#x2605;&#x2605;&#x2605; bind
                                            &#x7684;&#x4F5C;&#x7528;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS">bind()&#x65B9;&#x6CD5;&#x4E3B;&#x8981;&#x5C31;&#x662F;&#x5C06;&#x51FD;&#x6570;&#x7ED1;&#x5B9A;&#x5230;&#x67D0;&#x4E2A;&#x5BF9;&#x8C61;&#xFF0C;
bind()&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x51FD;&#x6570;&#x4F53;&#x5185;&#x7684;<span class="hljs-keyword">this</span>&#x5BF9;&#x8C61;&#x7684;&#x503C;&#x4F1A;&#x88AB;&#x7ED1;&#x5B9A;&#x5230;&#x4F20;&#x5165;bind()&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#x7684;&#x503C;
</code></pre>
                                    <h3
                                        id="27-&#x2605;&#x2605;-promiseresolvepromiseresolve1thenconsolelog-&#x8F93;&#x51FA;&#xFF1F;">
                                        <a name="27-&#x2605;&#x2605;-promiseresolvepromiseresolve1thenconsolelog-&#x8F93;&#x51FA;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#27-&#x2605;&#x2605;-promiseresolvepromiseresolve1thenconsolelog-&#x8F93;&#x51FA;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="27-&#x2605;&#x2605;-promiseresolvepromiseresolve1thenconsolelog-&#x8F93;&#x51FA;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#27-&#x2605;&#x2605;-promiseresolvepromiseresolve1thenconsolelog-&#x8F93;&#x51FA;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-27"> 27. &#x2605;&#x2605;
                                            Promise.resolve(Promise.resolve(1)).then(console.log)
                                            &#x8F93;&#x51FA;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;1</span>
</code></pre>
                                    <h3 id="28-&#x2605;&#x2605;&#x2605;-var-let-const&#x7684;&#x533A;&#x522B;"><a
                                            name="28-&#x2605;&#x2605;&#x2605;-var-let-const&#x7684;&#x533A;&#x522B;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#28-&#x2605;&#x2605;&#x2605;-var-let-const&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="28-&#x2605;&#x2605;&#x2605;-var-let-const&#x7684;&#x533A;&#x522B;"
                                            class="plugin-anchor"
                                            href="#28-&#x2605;&#x2605;&#x2605;-var-let-const&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-28"> 28. &#x2605;&#x2605;&#x2605; var let
                                            const&#x7684;&#x533A;&#x522B;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> <span class="hljs-keyword">var</span>&#x58F0;&#x660E;&#x7684;&#x53D8;&#x91CF;&#x4F1A;&#x6302;&#x8F7D;&#x5728;<span class="hljs-built_in">window</span>&#x4E0A;&#xFF0C;&#x800C;<span class="hljs-keyword">let</span>&#x548C;<span class="hljs-keyword">const</span>&#x58F0;&#x660E;&#x7684;&#x53D8;&#x91CF;&#x4E0D;&#x4F1A;
<span class="hljs-number">2.</span> <span class="hljs-keyword">var</span>&#x58F0;&#x660E;&#x53D8;&#x91CF;&#x5B58;&#x5728;&#x53D8;&#x91CF;&#x63D0;&#x5347;&#xFF0C;<span class="hljs-keyword">let</span>&#x548C;<span class="hljs-keyword">const</span>&#x4E0D;&#x5B58;&#x5728;&#x53D8;&#x91CF;&#x63D0;&#x5347;
<span class="hljs-number">3.</span> <span class="hljs-keyword">let</span>&#x548C;<span class="hljs-keyword">const</span>&#x58F0;&#x660E;&#x5F62;&#x6210;&#x5757;&#x4F5C;&#x7528;&#x57DF;
<span class="hljs-number">4.</span> &#x540C;&#x4E00;&#x4F5C;&#x7528;&#x57DF;&#x4E0B;<span class="hljs-keyword">let</span>&#x548C;<span class="hljs-keyword">const</span>&#x4E0D;&#x80FD;&#x58F0;&#x660E;&#x540C;&#x540D;&#x53D8;&#x91CF;&#xFF0C;&#x800C;<span class="hljs-keyword">var</span>&#x53EF;&#x4EE5;
<span class="hljs-number">5.</span> &#x4F7F;&#x7528;<span class="hljs-keyword">let</span>/<span class="hljs-keyword">const</span>&#x58F0;&#x660E;&#x7684;&#x53D8;&#x91CF;&#x5728;&#x5F53;&#x524D;&#x4F5C;&#x7528;&#x57DF;&#x5B58;&#x5728;&#x6682;&#x5B58;&#x6B7B;&#x533A;
<span class="hljs-number">6.</span> <span class="hljs-keyword">const</span>&#x4E00;&#x65E6;&#x58F0;&#x660E;&#x5FC5;&#x987B;&#x8D4B;&#x503C;,&#x4E0D;&#x80FD;&#x4F7F;&#x7528;<span class="hljs-literal">null</span>&#x5360;&#x4F4D;,&#x58F0;&#x660E;&#x540E;&#x4E0D;&#x80FD;&#x518D;&#x4FEE;&#x6539;,&#x5982;&#x679C;&#x58F0;&#x660E;&#x7684;&#x662F;&#x590D;&#x5408;&#x7C7B;&#x578B;&#x6570;&#x636E;&#xFF0C;&#x53EF;&#x4EE5;&#x4FEE;&#x6539;&#x5176;&#x5C5E;&#x6027;
</code></pre>
                                    <h3
                                        id="29-&#x2605;&#x2605;&#x2605;-document-load-&#x548C;-documen-ready&#x7684;&#x533A;&#x522B;">
                                        <a name="29-&#x2605;&#x2605;&#x2605;-document-load-&#x548C;-documen-ready&#x7684;&#x533A;&#x522B;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#29-&#x2605;&#x2605;&#x2605;-document-load-&#x548C;-documen-ready&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="29-&#x2605;&#x2605;&#x2605;-document-load-&#x548C;-documen-ready&#x7684;&#x533A;&#x522B;"
                                            class="plugin-anchor"
                                            href="#29-&#x2605;&#x2605;&#x2605;-document-load-&#x548C;-documen-ready&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-29"> 29. &#x2605;&#x2605;&#x2605; document load &#x548C; documen
                                            ready&#x7684;&#x533A;&#x522B;</p>
                                    </h3>
                                    <pre><code class="lang-JS">DOM&#x6587;&#x6863;&#x89E3;&#x6790;&#xFF1A;

&#x89E3;&#x6790;html&#x7ED3;&#x6784;
&#x52A0;&#x8F7D;&#x811A;&#x672C;&#x548C;&#x6837;&#x5F0F;&#x6587;&#x4EF6;
&#x89E3;&#x6790;&#x5E76;&#x6267;&#x884C;&#x811A;&#x672C;
&#x6784;&#x9020;html&#x7684;DOM&#x6A21;&#x578B;      <span class="hljs-comment">//ready</span>
&#x52A0;&#x8F7D;&#x56FE;&#x7247;&#x7B49;&#x5916;&#x90E8;&#x8D44;&#x6E90;&#x6587;&#x4EF6;
&#x9875;&#x9762;&#x52A0;&#x8F7D;&#x5B8C;&#x6BD5;           <span class="hljs-comment">//load</span>

<span class="hljs-built_in">document</span> load:
load&#x662F;&#x5F53;&#x9875;&#x9762;&#x6240;&#x6709;&#x8D44;&#x6E90;&#x5168;&#x90E8;&#x52A0;&#x8F7D;&#x5B8C;&#x6210;&#x540E;&#xFF08;&#x5305;&#x62EC;DOM&#x6587;&#x6863;&#x6811;&#xFF0C;css&#x6587;&#x4EF6;&#xFF0C;js&#x6587;&#x4EF6;&#xFF0C;&#x56FE;&#x7247;&#x8D44;&#x6E90;&#x7B49;&#xFF09;&#xFF0C;&#x6267;&#x884C;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;load&#x65B9;&#x6CD5;&#x5C31;&#x662F;onload&#x4E8B;&#x4EF6;&#x3002;

documen ready:
&#x6784;&#x9020;html&#x7684;DOM&#x6A21;&#x578B;&#x52A0;&#x8F7D;&#x5B8C;&#x6BD5;&#x540E;&#x89E6;&#x53D1;
</code></pre>
                                    <h3
                                        id="30-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;">
                                        <a name="30-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#30-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="30-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#30-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-30"> 30. &#x2605;&#x2605;&#x2605;
                                            &#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;
&#x4E8B;&#x4EF6;&#x662F;&#x4E0E;DOM&#x4EA4;&#x4E92;&#x7684;&#x6700;&#x5E38;&#x89C1;&#x7684;&#x65B9;&#x5F0F;&#x3002;&#x901A;&#x8FC7;&#x5B9E;&#x73B0;&#x81EA;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#xFF0C;&#x53EF;&#x4EE5;&#x8BA9;&#x4E8B;&#x4EF6;&#x7528;&#x4E8E;&#x975E;DOM&#x4EE3;&#x7801;&#x4E2D;&#x3002;
&#x601D;&#x60F3;&#xFF1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x7BA1;&#x7406;&#x4E8B;&#x4EF6;&#x7684;&#x5BF9;&#x8C61;&#xFF0C;&#x8BA9;&#x5176;&#x4ED6;&#x5BF9;&#x8C61;&#x76D1;&#x542C;&#x90A3;&#x4E9B;&#x4E8B;&#x4EF6;&#x3002;

&#x57FA;&#x672C;&#x6A21;&#x5F0F;&#xFF1A;

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">EventTarget</span>(<span class="hljs-params"></span>)</span>{
    <span class="hljs-keyword">this</span>.handlers = {};
}

EventTarget.prototype = {
    <span class="hljs-keyword">constructor</span>:EventTarget,
    addHandler:function(type,handler){
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">typeof</span> <span class="hljs-keyword">this</span>.handlers[type] === <span class="hljs-string">&quot;undefined&quot;</span>){
            <span class="hljs-keyword">this</span>.handlers[type] = [];
        }
        <span class="hljs-keyword">this</span>.handlers[type].push(handler);
    },
    fire:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">event</span>)</span>{
        <span class="hljs-keyword">if</span>(!event.target){
            event.target = <span class="hljs-keyword">this</span>;
        }
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.handlers[event.type] <span class="hljs-keyword">instanceof</span> <span class="hljs-built_in">Array</span>){
            <span class="hljs-keyword">const</span> handlers = <span class="hljs-keyword">this</span>.handlers[event.type];
            handlers.forEach((handler)=&gt;{
                handler(event);
            })
        }
    },
    removeHandler:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">type,handler</span>)</span>{
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.handlers[type] <span class="hljs-keyword">instanceof</span> <span class="hljs-built_in">Array</span>){
            <span class="hljs-keyword">const</span> handlers = <span class="hljs-keyword">this</span>.handlers[type];
            <span class="hljs-keyword">for</span>(<span class="hljs-keyword">var</span> i = <span class="hljs-number">0</span>,len = handlers.length; i &lt; len; i++){
                <span class="hljs-keyword">if</span>(handlers[i] === handler){
                    <span class="hljs-keyword">break</span>;
                }
            }
            handlers.splice(i,<span class="hljs-number">1</span>);
        }
    }
}
</code></pre>
                                    <h3
                                        id="31-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x7528;-settimeout-&#x6765;&#x5B9E;&#x73B0;-setinterval&#xFF1F;">
                                        <a name="31-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x7528;-settimeout-&#x6765;&#x5B9E;&#x73B0;-setinterval&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#31-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x7528;-settimeout-&#x6765;&#x5B9E;&#x73B0;-setinterval&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="31-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x7528;-settimeout-&#x6765;&#x5B9E;&#x73B0;-setinterval&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#31-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x7528;-settimeout-&#x6765;&#x5B9E;&#x73B0;-setinterval&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-31"> 31. &#x2605;&#x2605;&#x2605; &#x5982;&#x4F55;&#x7528; setTImeout
                                            &#x6765;&#x5B9E;&#x73B0; setInterval&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span>&#x4E0D;&#x53BB;&#x5173;&#x5FC3;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x662F;&#x5426;&#x8FD8;&#x5728;&#x8FD0;&#x884C;
&#x5728;&#x67D0;&#x4E9B;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x51FD;&#x6570;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x6BD4;&#x95F4;&#x9694;&#x65F6;&#x95F4;&#x66F4;&#x957F;&#x7684;&#x65F6;&#x95F4;&#x53BB;&#x5B8C;&#x6210;&#x6267;&#x884C;&#x3002;&#x6BD4;&#x5982;&#x8BF4;&#x662F;&#x7528;setInterval&#x6BCF;&#x9694;<span class="hljs-number">5</span>&#x79D2;&#x5BF9;&#x8FDC;&#x7AEF;&#x670D;&#x52A1;&#x5668;&#x8FDB;&#x884C;&#x8F6E;&#x8BE2;&#xFF0C;&#x7F51;&#x7EDC;&#x5EF6;&#x8FDF;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x65E0;&#x54CD;&#x5E94;&#x4EE5;&#x53CA;&#x5176;&#x4ED6;&#x56E0;&#x7D20;&#x5C06;&#x4F1A;&#x963B;&#x6B62;&#x8BF7;&#x6C42;&#x6309;&#x65F6;&#x6309;&#x6210;&#x3002;&#x7ED3;&#x679C;&#x4F1A;&#x5BFC;&#x81F4;&#x8FD4;&#x56DE;&#x4E00;&#x4E32;&#x65E0;&#x5FC5;&#x8981;&#x7684;&#x6392;&#x6210;&#x961F;&#x5217;&#x8BF7;&#x6C42;&#x3002;

<span class="hljs-number">2.</span>&#x5FFD;&#x89C6;&#x9519;&#x8BEF;
&#x56E0;&#x4E3A;&#x67D0;&#x4E9B;&#x539F;&#x56E0;&#xFF0C;setInterval&#x8C03;&#x7528;&#x7684;&#x4EE3;&#x7801;&#x4E2D;&#x4F1A;&#x51FA;&#x73B0;&#x4E00;&#x4E2A;&#x9519;&#x8BEF;&#xFF0C;&#x4F46;&#x662F;&#x4EE3;&#x7801;&#x5E76;&#x4E0D;&#x4F1A;&#x4E2D;&#x6B62;&#x6267;&#x884C;&#x800C;&#x662F;&#x7EE7;&#x7EED;&#x6267;&#x884C;&#x9519;&#x8BEF;&#x7684;&#x4EE3;&#x7801;&#x3002;

<span class="hljs-number">3.</span>&#x7F3A;&#x4E4F;&#x7075;&#x6D3B;&#x6027;
&#x9664;&#x4E86;&#x524D;&#x9762;&#x63D0;&#x5230;&#x7684;&#x7F3A;&#x70B9;&#x4E4B;&#x5916;&#xFF0C;&#x6211;&#x975E;&#x5E38;&#x5E0C;&#x671B;setInterval&#x65B9;&#x6CD5;&#x80FD;&#x6709;&#x4E00;&#x4E2A;&#x8868;&#x660E;&#x6267;&#x884C;&#x6B21;&#x6570;&#x7684;&#x53C2;&#x6570;&#x800C;&#x4E0D;&#x662F;&#x65E0;&#x4F11;&#x6B62;&#x7684;&#x6267;&#x884C;&#x4E0B;&#x53BB;&#x3002;

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">interval</span>(<span class="hljs-params">func, w, t</span>)</span>{
    <span class="hljs-keyword">var</span> interv = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">typeof</span> t === <span class="hljs-string">&quot;undefined&quot;</span> || t-- &gt; <span class="hljs-number">0</span>){
            setTimeout(interv, w);
            <span class="hljs-keyword">try</span>{
                func.call(<span class="hljs-literal">null</span>);
            }
            <span class="hljs-keyword">catch</span>(e){
                t = <span class="hljs-number">0</span>;
                <span class="hljs-keyword">throw</span> e.toString();
            }
        }
    };
    setTimeout(interv, w);
};
</code></pre>
                                    <h3
                                        id="32-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;-user-&#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709;-a-&#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;">
                                        <a name="32-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;-user-&#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709;-a-&#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#32-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;-user-&#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709;-a-&#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="32-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;-user-&#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709;-a-&#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#32-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;-user-&#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709;-a-&#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-32"> 32. &#x2605;&#x2605;&#x2605; &#x5982;&#x4F55;&#x5224;&#x65AD;
                                            user &#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709; a
                                            &#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;&#x5982;&#x679C;&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;&#xFF1F;
                                        </p>
                                    </h3>
                                    <p><code>(var user = {&apos;a&apos;: &apos;19&apos;, &apos;b&apos;: &apos;18&apos;, &apos;c&apos;:  &apos;16&apos;})</code>
                                    </p>
                                    <pre><code class="lang-JS">&#x5982;&#x4F55;&#x5224;&#x65AD; user &#x5BF9;&#x8C61;&#x91CC;&#x6709;&#x6CA1;&#x6709; a &#x8FD9;&#x4E2A;&#x5C5E;&#x6027;&#xFF1F;

js&#x5BF9;&#x8C61;&#x7684;<span class="hljs-built_in">Object</span>.hasOwnProperty()&#x65B9;&#x6CD5;
&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x5E03;&#x5C14;&#x503C;&#xFF0C;&#x5224;&#x65AD;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x5305;&#x542B;&#x7279;&#x5B9A;&#x7684;&#x81EA;&#x8EAB;&#xFF08;&#x975E;&#x7EE7;&#x627F;&#xFF09;&#x5C5E;&#x6027;&#x3002;

<span class="hljs-keyword">let</span> obj = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Object</span>();
obj.a = <span class="hljs-string">&quot;123&quot;</span>;
<span class="hljs-built_in">console</span>.log(obj.hasOwnProperty(<span class="hljs-string">&apos;a&apos;</span>))  <span class="hljs-comment">// true</span>
<span class="hljs-built_in">console</span>.log(obj.hasOwnProperty(<span class="hljs-string">&apos;b&apos;</span>))  <span class="hljs-comment">// false</span>

&#x628A;user&#x5BF9;&#x8C61;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5C5E;&#x6027;&#x90FD;&#x8F93;&#x51FA;&#x51FA;&#x6765;
<span class="hljs-keyword">for</span>(item <span class="hljs-keyword">for</span> user){
    <span class="hljs-built_in">console</span>.log(item)
}
</code></pre>
                                    <h3
                                        id="33-&#x2605;&#x2605;-&#x4F7F;&#x7528;-settimeout-&#x6A21;&#x62DF;-setinterval-&#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;">
                                        <a name="33-&#x2605;&#x2605;-&#x4F7F;&#x7528;-settimeout-&#x6A21;&#x62DF;-setinterval-&#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#33-&#x2605;&#x2605;-&#x4F7F;&#x7528;-settimeout-&#x6A21;&#x62DF;-setinterval-&#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="33-&#x2605;&#x2605;-&#x4F7F;&#x7528;-settimeout-&#x6A21;&#x62DF;-setinterval-&#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;"
                                            class="plugin-anchor"
                                            href="#33-&#x2605;&#x2605;-&#x4F7F;&#x7528;-settimeout-&#x6A21;&#x62DF;-setinterval-&#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-33"> 33. &#x2605;&#x2605; &#x4F7F;&#x7528; setTimeout &#x6A21;&#x62DF;
                                            setInterval
                                            &#x7684;&#x529F;&#x80FD;&#x505A;&#x4E00;&#x4E2A;60&#x79D2;&#x7684;&#x5012;&#x6570;&#x8BA1;&#x65F6;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">setInter</span>(<span class="hljs-params">s,fn</span>)</span>{
  <span class="hljs-keyword">let</span> timeOut = (s,fn)=&gt;{
      setTimeout(()=&gt;{
        fn();
        timeOut(s,fn);
      },s)
  }
  timeOut(s,fn);
}

<span class="hljs-comment">//&#x8C03;&#x7528;&#x4E0A;&#x9762;&#x7684;&#x65B9;&#x6CD5;</span>
setInter(<span class="hljs-number">60000</span>,()=&gt;{<span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;hello world!&quot;</span>)})
</code></pre>
                                    <h3
                                        id="34-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-add&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;">
                                        <a name="34-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-add&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#34-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-add&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="34-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-add&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;"
                                            class="plugin-anchor"
                                            href="#34-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-add&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-34"> 34. &#x2605;&#x2605;&#x2605;
                                            &#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;
                                            add()&#xFF0C;&#x8FD0;&#x7B97;&#x7ED3;&#x679C;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3;&#x5982;&#x4E0B;&#x9884;&#x671F;&#x7ED3;&#x679C;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add</span> (<span class="hljs-params"></span>) </span>{
  <span class="hljs-keyword">var</span> args = <span class="hljs-built_in">Array</span>.prototype.slice.call(<span class="hljs-built_in">arguments</span>);

  <span class="hljs-keyword">var</span> fn = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
    <span class="hljs-keyword">var</span> sub_arg = <span class="hljs-built_in">Array</span>.prototype.slice.call(<span class="hljs-built_in">arguments</span>);
&#x3000;&#x3000; <span class="hljs-comment">// &#x628A;&#x5168;&#x90E8;&#x7684;&#x53C2;&#x6570;&#x805A;&#x96C6;&#x5230;&#x53C2;&#x6570;&#x7684;&#x5165;&#x53E3;&#x4E3A;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#xFF1A; args.concat(sub_arg)</span>
    <span class="hljs-keyword">return</span> add.apply(<span class="hljs-literal">null</span>, args.concat(sub_arg));
  }

  fn.valueOf = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
  <span class="hljs-keyword">return</span> args.reduce(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">a, b</span>) </span>{
      <span class="hljs-keyword">return</span> a + b;
    })
  }

  <span class="hljs-keyword">return</span> fn;
}
</code></pre>
                                    <pre><code class="lang-JS">add(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>)(<span class="hljs-number">10</span>) <span class="hljs-comment">//16</span>
add(<span class="hljs-number">1</span>)(<span class="hljs-number">2</span>)(<span class="hljs-number">3</span>,<span class="hljs-number">4</span>)(<span class="hljs-number">5</span>) <span class="hljs-comment">//15</span>
</code></pre>
                                    <h3
                                        id="35-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;">
                                        <a name="35-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#35-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="35-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#35-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-35"> 35. &#x2605;&#x2605;&#x2605;
                                            &#x5982;&#x4F55;&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> <span class="hljs-built_in">Promise</span> &#x5BF9;&#x8C61;&#x5C31;&#x662F;&#x4E3A;&#x4E86;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x800C;&#x63D0;&#x51FA;&#x7684;&#x3002;&#x5B83;&#x4E0D;&#x662F;&#x65B0;&#x7684;&#x8BED;&#x6CD5;&#x529F;&#x80FD;&#xFF0C;&#x800C;&#x662F;&#x4E00;&#x79CD;&#x65B0;&#x7684;&#x5199;&#x6CD5;&#xFF0C;&#x5141;&#x8BB8;&#x5C06;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x7684;&#x5D4C;&#x5957;&#xFF0C;&#x6539;&#x6210;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x3002;

promise&#x53EA;&#x6709;&#x4E24;&#x4E2A;&#x72B6;&#x6001;resolve&#x548C;reject&#xFF0C;&#x5F53;&#x5B83;&#x89E6;&#x53D1;&#x4EFB;&#x4F55;&#x4E00;&#x4E2A;&#x72B6;&#x6001;&#x540E;&#xFF0C;&#x5B83;&#x4F1A;&#x5C06;&#x5F53;&#x524D;&#x7684;&#x503C;&#x7F13;&#x5B58;&#x8D77;&#x6765;&#xFF0C;&#x5E76;&#x5728;&#x6709;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x6DFB;&#x52A0;&#x8FDB;&#x6765;&#x7684;&#x65F6;&#x5019;&#x5C1D;&#x8BD5;&#x8C03;&#x7528;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#xFF0C;&#x5982;&#x679C;&#x8FD9;&#x4E2A;&#x65F6;&#x5019;&#x8FD8;&#x6CA1;&#x6709;&#x89E6;&#x53D1;resolve&#x6216;&#x8005;reject&#xFF0C;&#x90A3;&#x4E48;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x4F1A;&#x88AB;&#x7F13;&#x5B58;&#xFF0C;&#x7B49;&#x5F85;&#x8C03;&#x7528;&#xFF0C;&#x5982;&#x679C;&#x5DF2;&#x7ECF;&#x6709;&#x4E86;&#x72B6;&#x6001;(resolve&#x6216;&#x8005;reject)&#xFF0C;&#x5219;&#x7ACB;&#x523B;&#x8C03;&#x7528;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x3002;&#x5E76;&#x4E14;&#x6240;&#x6709;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x5728;&#x6267;&#x884C;&#x540E;&#x90FD;&#x7ACB;&#x5373;&#x88AB;&#x9500;&#x6BC1;&#x3002;

<span class="hljs-number">2.</span> ES6 co/<span class="hljs-keyword">yield</span>&#x65B9;&#x6848;
<span class="hljs-keyword">yield</span>: Generator &#x51FD;&#x6570;&#x662F;&#x534F;&#x7A0B;&#x5728; ES6 &#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x800C;<span class="hljs-keyword">yield</span>&#x662F; Generator&#x5173;&#x952E;&#x5B57;&#xFF0C; &#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x9700;&#x8981;&#x6682;&#x505C;&#x7684;&#x5730;&#x65B9;&#xFF0C;&#x90FD;&#x7528;<span class="hljs-keyword">yield</span>&#x8BED;&#x53E5;&#x6CE8;&#x660E;&#x3002;
co: co &#x6A21;&#x5757;&#x662F;&#x8457;&#x540D;&#x7A0B;&#x5E8F;&#x5458; TJ Holowaychuk &#x4E8E; <span class="hljs-number">2013</span> &#x5E74; <span class="hljs-number">6</span> &#x6708;&#x53D1;&#x5E03;&#x7684;&#x4E00;&#x4E2A;&#x5C0F;&#x5DE5;&#x5177;&#xFF0C;&#x7528;&#x4E8E; Generator &#x51FD;&#x6570;&#x7684;&#x81EA;&#x52A8;&#x6267;&#x884C;&#x3002;

<span class="hljs-number">3.</span> ES7 <span class="hljs-keyword">async</span>/<span class="hljs-keyword">await</span> &#x65B9;&#x6848;
<span class="hljs-keyword">async</span>/<span class="hljs-keyword">await</span>&#x662F;es7&#x7684;&#x65B0;&#x6807;&#x51C6;&#xFF0C;&#x5E76;&#x4E14;&#x5728;node7<span class="hljs-number">.0</span>&#x4E2D;&#x5DF2;&#x7ECF;&#x5F97;&#x5230;&#x652F;&#x6301;&#x3002;
&#x5B83;&#x5C31;&#x662F; Generator &#x51FD;&#x6570;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;&#xFF0C;<span class="hljs-keyword">async</span>&#x51FD;&#x6570;&#x5C31;&#x662F;&#x5C06; Generator &#x51FD;&#x6570;&#x7684;&#x661F;&#x53F7;&#xFF08;*&#xFF09;&#x66FF;&#x6362;&#x6210;<span class="hljs-keyword">async</span>&#xFF0C;&#x5C06;<span class="hljs-keyword">yield</span>&#x66FF;&#x6362;&#x6210;<span class="hljs-keyword">await</span>&#xFF0C;&#x4EC5;&#x6B64;&#x800C;&#x5DF2;&#x3002;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x5B98;&#x65B9;&#x5BF9;co&#x548C;Generator &#x5C01;&#x88C5;&#x65B9;&#x6848;&#x3002;
</code></pre>
                                    <h3
                                        id="36-&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;-function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;">
                                        <a name="36-&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;-function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#36-&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;-function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="36-&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;-function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;"
                                            class="plugin-anchor"
                                            href="#36-&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;-function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-36"> 36. &#x2605;&#x2605; &#x5199;&#x4E00;&#x4E2A;
                                            function&#xFF0C;&#x6E05;&#x9664;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x540E;&#x7684;&#x7A7A;&#x683C;&#x3002;&#xFF08;&#x517C;&#x5BB9;&#x6240;&#x6709;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#xFF09;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">trim</span>(<span class="hljs-params">str</span>) </span>{
    <span class="hljs-keyword">if</span> (str &amp;&amp; <span class="hljs-keyword">typeof</span> str === <span class="hljs-string">&quot;string&quot;</span>) {
        <span class="hljs-keyword">return</span> str.replace(<span class="hljs-regexp">/(^\s*)|(\s*)$/g</span>,<span class="hljs-string">&quot;&quot;</span>); <span class="hljs-comment">//&#x53BB;&#x9664;&#x524D;&#x540E;&#x7A7A;&#x767D;&#x7B26;</span>
    }
}
</code></pre>
                                    <h3
                                        id="37-&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;">
                                        <a name="37-&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#37-&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="37-&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;"
                                            class="plugin-anchor"
                                            href="#37-&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-37"> 37. &#x2605;&#x2605;
                                            &#x4F7F;&#x7528;&#x6B63;&#x5219;&#x8868;&#x8FBE;&#x5F0F;&#x9A8C;&#x8BC1;&#x90AE;&#x7BB1;&#x683C;&#x5F0F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fChkMail</span>(<span class="hljs-params">emailAddress</span>)</span>{ 
    <span class="hljs-keyword">var</span> reg = <span class="hljs-keyword">new</span> <span class="hljs-built_in">RegExp</span>(<span class="hljs-string">&quot;^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$&quot;</span>); 
    <span class="hljs-keyword">var</span> bChk=reg.test(emailAddress); 
    <span class="hljs-keyword">return</span> bChk; 
}
</code></pre>
                                    <h3
                                        id="38-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;">
                                        <a name="38-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#38-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="38-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;"
                                            class="plugin-anchor"
                                            href="#38-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-38"> 38. &#x2605;&#x2605;&#x2605;
                                            &#x7B80;&#x8FF0;&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x7684;&#x533A;&#x522B;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x540C;&#x6B65;&#xFF1A;
&#x540C;&#x6B65;&#x7684;&#x601D;&#x60F3;&#x662F;&#xFF1A;&#x6240;&#x6709;&#x7684;&#x64CD;&#x4F5C;&#x90FD;&#x505A;&#x5B8C;&#xFF0C;&#x624D;&#x8FD4;&#x56DE;&#x7ED9;&#x7528;&#x6237;&#x3002;&#x8FD9;&#x6837;&#x7528;&#x6237;&#x5728;&#x7EBF;&#x7B49;&#x5F85;&#x7684;&#x65F6;&#x95F4;&#x592A;&#x957F;&#xFF0C;&#x7ED9;&#x7528;&#x6237;&#x4E00;&#x79CD;&#x5361;&#x6B7B;&#x4E86;&#x7684;&#x611F;&#x89C9;&#xFF08;&#x5C31;&#x662F;&#x7CFB;&#x7EDF;&#x8FC1;&#x79FB;&#x4E2D;&#xFF0C;&#x70B9;&#x51FB;&#x4E86;&#x8FC1;&#x79FB;&#xFF0C;&#x754C;&#x9762;&#x5C31;&#x4E0D;&#x52A8;&#x4E86;&#xFF0C;&#x4F46;&#x662F;&#x7A0B;&#x5E8F;&#x8FD8;&#x5728;&#x6267;&#x884C;&#xFF0C;&#x5361;&#x6B7B;&#x4E86;&#x7684;&#x611F;&#x89C9;&#xFF09;&#x3002;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x7528;&#x6237;&#x4E0D;&#x80FD;&#x5173;&#x95ED;&#x754C;&#x9762;&#xFF0C;&#x5982;&#x679C;&#x5173;&#x95ED;&#x4E86;&#xFF0C;&#x5373;&#x8FC1;&#x79FB;&#x7A0B;&#x5E8F;&#x5C31;&#x4E2D;&#x65AD;&#x4E86;&#x3002;

&#x5F02;&#x6B65;&#xFF1A;
&#x5C06;&#x7528;&#x6237;&#x8BF7;&#x6C42;&#x653E;&#x5165;&#x6D88;&#x606F;&#x961F;&#x5217;&#xFF0C;&#x5E76;&#x53CD;&#x9988;&#x7ED9;&#x7528;&#x6237;&#xFF0C;&#x7CFB;&#x7EDF;&#x8FC1;&#x79FB;&#x7A0B;&#x5E8F;&#x5DF2;&#x7ECF;&#x542F;&#x52A8;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x5173;&#x95ED;&#x6D4F;&#x89C8;&#x5668;&#x4E86;&#x3002;&#x7136;&#x540E;&#x7A0B;&#x5E8F;&#x518D;&#x6162;&#x6162;&#x5730;&#x53BB;&#x5199;&#x5165;&#x6570;&#x636E;&#x5E93;&#x53BB;&#x3002;&#x8FD9;&#x5C31;&#x662F;&#x5F02;&#x6B65;&#x3002;&#x4F46;&#x662F;&#x7528;&#x6237;&#x6CA1;&#x6709;&#x5361;&#x6B7B;&#x7684;&#x611F;&#x89C9;&#xFF0C;&#x4F1A;&#x544A;&#x8BC9;&#x4F60;&#xFF0C;&#x4F60;&#x7684;&#x8BF7;&#x6C42;&#x7CFB;&#x7EDF;&#x5DF2;&#x7ECF;&#x54CD;&#x5E94;&#x4E86;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x5173;&#x95ED;&#x754C;&#x9762;&#x4E86;&#x3002;

&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x672C;&#x8EAB;&#x662F;&#x76F8;&#x5BF9;&#x7684;:
&#x540C;&#x6B65;&#x5C31;&#x76F8;&#x5F53;&#x4E8E;&#x662F; &#x5F53;&#x5BA2;&#x6237;&#x7AEF;&#x53D1;&#x9001;&#x8BF7;&#x6C42;&#x7ED9;&#x670D;&#x52A1;&#x7AEF;&#xFF0C;&#x5728;&#x7B49;&#x5F85;&#x670D;&#x52A1;&#x7AEF;&#x54CD;&#x5E94;&#x7684;&#x8BF7;&#x6C42;&#x65F6;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x4E0D;&#x505A;&#x5176;&#x4ED6;&#x7684;&#x4E8B;&#x60C5;&#x3002;&#x5F53;&#x670D;&#x52A1;&#x7AEF;&#x505A;&#x5B8C;&#x4E86;&#x624D;&#x8FD4;&#x56DE;&#x5230;&#x5BA2;&#x6237;&#x7AEF;&#x3002;&#x8FD9;&#x6837;&#x7684;&#x8BDD;&#x5BA2;&#x6237;&#x7AEF;&#x9700;&#x8981;&#x4E00;&#x76F4;&#x7B49;&#x5F85;&#x3002;&#x7528;&#x6237;&#x4F7F;&#x7528;&#x8D77;&#x6765;&#x4F1A;&#x6709;&#x4E0D;&#x53CB;&#x597D;&#x3002;

&#x5F02;&#x6B65;&#x5C31;&#x662F;&#xFF0C;&#x5F53;&#x5BA2;&#x6237;&#x7AEF;&#x53D1;&#x9001;&#x7ED9;&#x670D;&#x52A1;&#x7AEF;&#x8BF7;&#x6C42;&#x65F6;&#xFF0C;&#x5728;&#x7B49;&#x5F85;&#x670D;&#x52A1;&#x7AEF;&#x54CD;&#x5E94;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x53EF;&#x4EE5;&#x505A;&#x5176;&#x4ED6;&#x7684;&#x4E8B;&#x60C5;&#xFF0C;&#x8FD9;&#x6837;&#x8282;&#x7EA6;&#x4E86;&#x65F6;&#x95F4;&#xFF0C;&#x63D0;&#x9AD8;&#x4E86;&#x6548;&#x7387;&#x3002;

&#x5B58;&#x5728;&#x5C31;&#x6709;&#x5176;&#x9053;&#x7406; &#x5F02;&#x6B65;&#x867D;&#x7136;&#x597D; &#x4F46;&#x662F;&#x6709;&#x4E9B;&#x95EE;&#x9898;&#x662F;&#x8981;&#x7528;&#x540C;&#x6B65;&#x7528;&#x6765;&#x89E3;&#x51B3;&#xFF0C;&#x6BD4;&#x5982;&#x6709;&#x4E9B;&#x4E1C;&#x897F;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x7684;&#x662F;&#x62FF;&#x5230;&#x8FD4;&#x56DE;&#x7684;&#x6570;&#x636E;&#x5728;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#x7684;&#x3002;&#x8FD9;&#x4E9B;&#x662F;&#x5F02;&#x6B65;&#x6240;&#x65E0;&#x6CD5;&#x89E3;&#x51B3;&#x7684;&#x3002;
</code></pre>
                                    <h3
                                        id="39-&#x2605;&#x2605;-javascript-&#x4E2D;-callee-&#x548C;-caller-&#x7684;&#x4F5C;&#x7528;">
                                        <a name="39-&#x2605;&#x2605;-javascript-&#x4E2D;-callee-&#x548C;-caller-&#x7684;&#x4F5C;&#x7528;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#39-&#x2605;&#x2605;-javascript-&#x4E2D;-callee-&#x548C;-caller-&#x7684;&#x4F5C;&#x7528;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="39-&#x2605;&#x2605;-javascript-&#x4E2D;-callee-&#x548C;-caller-&#x7684;&#x4F5C;&#x7528;"
                                            class="plugin-anchor"
                                            href="#39-&#x2605;&#x2605;-javascript-&#x4E2D;-callee-&#x548C;-caller-&#x7684;&#x4F5C;&#x7528;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-39"> 39. &#x2605;&#x2605; JavaScript &#x4E2D; callee &#x548C; caller
                                            &#x7684;&#x4F5C;&#x7528;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span>callee
callee&#x662F;&#x5BF9;&#x8C61;&#x7684;&#x4E00;&#x4E2A;&#x5C5E;&#x6027;&#xFF0C;&#x8BE5;&#x5C5E;&#x6027;&#x662F;&#x4E00;&#x4E2A;&#x6307;&#x9488;&#xFF0C;&#x6307;&#x5411;&#x53C2;&#x6570;<span class="hljs-built_in">arguments</span>&#x5BF9;&#x8C61;&#x7684;&#x51FD;&#x6570;
&#x4F5C;&#x7528;&#xFF1A;&#x5C31;&#x662F;&#x7528;&#x6765;&#x6307;&#x5411;&#x5F53;&#x524D;&#x5BF9;&#x8C61;
&#x8FD4;&#x56DE;&#x6B63;&#x88AB;&#x6267;&#x884C;&#x7684; <span class="hljs-built_in">Function</span> &#x5BF9;&#x8C61;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x6240;&#x6307;&#x5B9A;&#x7684; <span class="hljs-built_in">Function</span> &#x5BF9;&#x8C61;&#x7684;&#x6B63;&#x6587;. 
callee&#x662F;<span class="hljs-built_in">arguments</span> &#x7684;&#x4E00;&#x4E2A;&#x5C5E;&#x6027;&#x6210;&#x5458;&#xFF0C;&#x5B83;&#x8868;&#x793A;&#x5BF9;&#x51FD;&#x6570;&#x5BF9;&#x8C61;&#x672C;&#x8EAB;&#x7684;&#x5F15;&#x7528;&#xFF0C;&#x8FD9;&#x6709;&#x5229;&#x4E8E;&#x533F;&#x540D; 
&#x51FD;&#x6570;&#x7684;&#x9012;&#x5F52;&#x6216;&#x8005;&#x4FDD;&#x8BC1;&#x51FD;&#x6570;&#x7684;&#x5C01;&#x88C5;&#x6027;

<span class="hljs-number">2.</span>caller
caller&#x662F;&#x51FD;&#x6570;&#x5BF9;&#x8C61;&#x7684;&#x4E00;&#x4E2A;&#x5C5E;&#x6027;&#xFF0C;&#x8BE5;&#x5C5E;&#x6027;&#x4FDD;&#x5B58;&#x7740;&#x8C03;&#x7528;&#x5F53;&#x524D;&#x51FD;&#x6570;&#x7684;&#x51FD;&#x6570;&#x7684;&#x5F15;&#x7528;&#xFF08;&#x6307;&#x5411;&#x5F53;&#x524D;&#x51FD;&#x6570;&#x7684;&#x76F4;&#x63A5;&#x7236;&#x51FD;&#x6570;&#xFF09;
&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x5BF9;&#x51FD;&#x6570;&#x7684;&#x5F15;&#x7528;&#xFF0C;&#x8BE5;&#x51FD;&#x6570;&#x8C03;&#x7528;&#x4E86;&#x5F53;&#x524D;&#x51FD;&#x6570;&#x3002;
functionName.caller
functionName &#x5BF9;&#x8C61;&#x662F;&#x6240;&#x6267;&#x884C;&#x51FD;&#x6570;&#x7684;&#x540D;&#x79F0;&#x3002;
&#x6CE8;&#x610F;&#xFF1A;
&#x5BF9;&#x4E8E;&#x51FD;&#x6570;&#x6765;&#x8BF4;&#xFF0C;caller &#x5C5E;&#x6027;&#x53EA;&#x6709;&#x5728;&#x51FD;&#x6570;&#x6267;&#x884C;&#x65F6;&#x624D;&#x6709;&#x5B9A;&#x4E49;&#x3002; &#x5982;&#x679C;&#x51FD;&#x6570;&#x662F;&#x7531; Javascript &#x7A0B;&#x5E8F;&#x7684;&#x9876;&#x5C42;&#x8C03;&#x7528;&#x7684;&#xFF0C;&#x90A3;&#x4E48; caller &#x5305;&#x542B;&#x7684;&#x5C31;&#x662F; <span class="hljs-literal">null</span> &#x3002;
</code></pre>
                                    <h3
                                        id="40-&#x2605;&#x2605;-&#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;">
                                        <a name="40-&#x2605;&#x2605;-&#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#40-&#x2605;&#x2605;-&#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="40-&#x2605;&#x2605;-&#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;"
                                            class="plugin-anchor"
                                            href="#40-&#x2605;&#x2605;-&#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-40"> 40. &#x2605;&#x2605;
                                            &#x7EDF;&#x8BA1;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5B57;&#x6BCD;&#x4E2A;&#x6570;&#x6216;&#x7EDF;&#x8BA1;&#x6700;&#x591A;&#x7684;&#x5B57;&#x6BCD;&#x6570;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">count</span>(<span class="hljs-params">str</span>) </span>{
  <span class="hljs-keyword">var</span> obj = {}; <span class="hljs-comment">// &#x7EDF;&#x8BA1;&#x5BF9;&#x8C61;</span>
  <span class="hljs-keyword">var</span> i = <span class="hljs-number">0</span>;
  <span class="hljs-keyword">var</span> len = str.length;
  <span class="hljs-keyword">for</span> (; i &lt; len; i++){
    <span class="hljs-keyword">var</span> curChar = str.charAt(i); 
    <span class="hljs-comment">// &#x5982;&#x679C;&#x7ED3;&#x679C;&#x5BF9;&#x8C61;&#x5B58;&#x5728;&#x8BE5;&#x5B57;&#x7B26;&#x7684;&#x5C5E;&#x6027;&#xFF0C;&#x5219;&#x81EA;&#x589E;&#xFF0C;&#x5426;&#x5219;&#x7F6E;&#x4E3A;1</span>
    <span class="hljs-keyword">if</span> (obj[curChar]) {
      obj[curChar]++;
    } <span class="hljs-keyword">else</span> {
      obj[curChar] = <span class="hljs-number">1</span>;
    }
  }
  <span class="hljs-comment">// &#x8FD4;&#x56DE;&#x7ED3;&#x679C;</span>
  <span class="hljs-keyword">return</span> obj;
}
<span class="hljs-keyword">var</span> str = <span class="hljs-string">&quot;javaScript&quot;</span>;
<span class="hljs-built_in">console</span>.log(count(str));
</code></pre>
                                    <h3
                                        id="41-&#x2605;&#x2605;&#x2605;-jquery-&#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;-on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="41-&#x2605;&#x2605;&#x2605;-jquery-&#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;-on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#41-&#x2605;&#x2605;&#x2605;-jquery-&#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;-on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="41-&#x2605;&#x2605;&#x2605;-jquery-&#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;-on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#41-&#x2605;&#x2605;&#x2605;-jquery-&#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;-on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-41"> 41. &#x2605;&#x2605;&#x2605; jQuery
                                            &#x7684;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x65B9;&#x6CD5;
                                            on&#xFF0C;live&#xFF0C;delegate&#x4E4B;&#x95F4;&#x6709;&#x533A;&#x522B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">live &#x628A;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x4EA4;&#x7ED9;&#x4E86;<span class="hljs-built_in">document</span>&#xFF08;&#x6839;&#x8282;&#x70B9;&#xFF09;&#xFF0C;<span class="hljs-built_in">document</span> &#x5411;&#x4E0B;&#x53BB;&#x5BFB;&#x627E;&#x7B26;&#x5408;&#x6761;&#x4EF6;&#x7684;&#x5143;&#x7D20;&#xFF08;&#xFF09;&#xFF0C; &#x4E0D;&#x7528;&#x7B49;&#x5F85;<span class="hljs-built_in">document</span>&#x52A0;&#x8F7D;&#x7ED3;&#x675F;&#x4E5F;&#x53EF;&#x4EE5;&#x751F;&#x6548;&#x3002;

delegate&#x53EF;&#x6307;&#x5B9A;&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x5BF9;&#x8C61;&#xFF0C;&#x76F8;&#x6BD4;&#x4E8E;live&#x6027;&#x80FD;&#x66F4;&#x4F18;&#xFF0C;&#x76F4;&#x63A5;&#x9501;&#x5B9A;&#x6307;&#x5B9A;&#x9009;&#x62E9;&#x5668;&#xFF1B;

on&#x4E8B;&#x4EF6;&#x59D4;&#x6258;&#x5BF9;&#x8C61;&#x9009;&#x586B;&#xFF0C;&#x5982;&#x679C;&#x4E0D;&#x586B;&#xFF0C;&#x5373;&#x7ED9;&#x5BF9;&#x8C61;&#x81EA;&#x8EAB;&#x6CE8;&#x518C;&#x4E8B;&#x4EF6;&#xFF0C;&#x586B;&#x4E86;&#x4F5C;&#x7528;&#x548C;delegate&#x4E00;&#x81F4;&#x3002;
</code></pre>
                                    <h3
                                        id="42-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E0B;-promise-&#x5BF9;&#x8C61;">
                                        <a name="42-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E0B;-promise-&#x5BF9;&#x8C61;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#42-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E0B;-promise-&#x5BF9;&#x8C61;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="42-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E0B;-promise-&#x5BF9;&#x8C61;"
                                            class="plugin-anchor"
                                            href="#42-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E0B;-promise-&#x5BF9;&#x8C61;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-42"> 42. &#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0;&#x4E0B; Promise
                                            &#x5BF9;&#x8C61;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-built_in">Promise</span>&#x662F;&#x5F02;&#x6B65;&#x7F16;&#x7A0B;&#x7684;&#x4E00;&#x79CD;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF0C;&#x6BD4;&#x4F20;&#x7EDF;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF08;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x548C;&#x4E8B;&#x4EF6;&#xFF09;&#x66F4;&#x5408;&#x7406;&#x66F4;&#x5F3A;&#x5927;&#x3002;

&#x6240;&#x8C13;<span class="hljs-built_in">Promise</span>&#xFF0C;&#x7B80;&#x5355;&#x8BF4;&#x5C31;&#x662F;&#x4E00;&#x4E2A;&#x5BB9;&#x5668;&#xFF0C;&#x91CC;&#x9762;&#x4FDD;&#x5B58;&#x7740;&#x67D0;&#x4E2A;&#x672A;&#x6765;&#x624D;&#x4F1A;&#x7ED3;&#x675F;&#x7684;&#x4E8B;&#x4EF6; (&#x901A;&#x5E38;&#x662F;&#x4E00;&#x4E2A;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;)&#x7684;&#x7ED3;&#x679C;&#x3002;&#x4ECE;&#x8BED;&#x6CD5;&#x4E0A;&#x8BF4;&#xFF0C;<span class="hljs-built_in">Promise</span>&#x662F;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#xFF0C;&#x4ECE;&#x5B83;&#x53EF;&#x4EE5;&#x83B7;&#x53D6;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x7684;&#x6D88;&#x606F;&#x3002;

<span class="hljs-built_in">Promise</span>&#x5BF9;&#x8C61;&#x6709;&#x4EE5;&#x4E0B;<span class="hljs-number">2</span>&#x4E2A;&#x7279;&#x70B9;&#xFF1A;
<span class="hljs-number">1.</span>&#x5BF9;&#x8C61;&#x7684;&#x72B6;&#x6001;&#x4E0D;&#x53D7;&#x5916;&#x754C;&#x5F71;&#x54CD;&#x3002;<span class="hljs-built_in">Promise</span>&#x5BF9;&#x8C61;&#x4EE3;&#x8868;&#x4E00;&#x4E2A;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#xFF0C;&#x6709;&#x4E09;&#x79CD;&#x72B6;&#x6001;&#xFF1A;Pending(&#x8FDB;&#x884C;&#x4E2D;)&#x3001;Resolved(&#x5DF2;&#x5B8C;&#x6210;)&#x548C;Rejected(&#x5DF2;&#x5931;&#x8D25;)&#x3002;&#x53EA;&#x6709;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x53EF;&#x4EE5;&#x51B3;&#x5B9A;&#x5F53;&#x524D;&#x662F;&#x54EA;&#x4E00;&#x79CD;&#x72B6;&#x6001;&#xFF0C;&#x4EFB;&#x4F55;&#x5176;&#x4ED6;&#x64CD;&#x4F5C;&#x90FD;&#x65E0;&#x6CD5;&#x6539;&#x53D8;&#x8FD9;&#x4E2A;&#x72B6;&#x6001;&#x3002;&#x8FD9;&#x4E5F;&#x662F;<span class="hljs-built_in">Promise</span>&#x8FD9;&#x4E2A;&#x540D;&#x5B57;&#x7684;&#x7531;&#x6765;&#xFF0C;&#x5B83;&#x7684;&#x82F1;&#x8BED;&#x610F;&#x601D;&#x5C31;&#x662F;&#x201C;&#x627F;&#x8BFA;&#x201D;&#xFF0C;&#x8868;&#x793A;&#x5176;&#x4ED6;&#x624B;&#x6BB5;&#x65E0;&#x6CD5;&#x6539;&#x53D8;&#x3002;
<span class="hljs-number">2.</span>&#x4E00;&#x65E6;&#x72B6;&#x6001;&#x6539;&#x53D8;&#xFF0C;&#x5C31;&#x4E0D;&#x4F1A;&#x518D;&#x53D8;&#xFF0C;&#x4EFB;&#x4F55;&#x65F6;&#x5019;&#x90FD;&#x53EF;&#x4EE5;&#x5F97;&#x5230;&#x8FD9;&#x4E2A;&#x7ED3;&#x679C;&#x3002;<span class="hljs-built_in">Promise</span>&#x5BF9;&#x8C61;&#x7684;&#x72B6;&#x6001;&#x6539;&#x53D8;&#xFF0C;&#x53EA;&#x6709;&#x4E24;&#x79CD;&#x53EF;&#x80FD;&#xFF1A;&#x4ECE;Pending&#x53D8;&#x4E3A;Resolved&#xFF1B;&#x4ECE;Pending&#x53D8;&#x4E3A;Rejected&#x3002;&#x53EA;&#x8981;&#x8FD9;&#x4E24;&#x79CD;&#x60C5;&#x51B5;&#x53D1;&#x751F;&#xFF0C;&#x72B6;&#x6001;&#x5C31;&#x51DD;&#x56FA;&#x4E86;&#xFF0C;&#x4E0D;&#x4F1A;&#x518D;&#x53D8;&#x4E86;&#xFF0C;&#x4F1A;&#x4E00;&#x76F4;&#x4FDD;&#x6301;&#x8FD9;&#x4E2A;&#x7ED3;&#x679C;&#x3002;&#x5C31;&#x7B97;&#x6539;&#x53D8;&#x5DF2;&#x7ECF;&#x53D1;&#x751F;&#x4E86;&#xFF0C;&#x4F60;&#x518D;&#x5BF9;<span class="hljs-built_in">Promise</span>&#x5BF9;&#x8C61;&#x7530;&#x9759;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#xFF0C;&#x4E5F;&#x4F1A;&#x7ACB;&#x5373;&#x5F97;&#x5230;&#x8FD9;&#x4E2A;&#x7ED3;&#x679C;&#x3002;&#x8FD9;&#x4E0E;&#x4E8B;&#x4EF6;(Event)&#x5B8C;&#x5168;&#x4E0D;&#x540C;&#xFF0C;&#x4E8B;&#x4EF6;&#x7684;&#x7279;&#x70B9;&#x662F;&#xFF0C;&#x5982;&#x679C;&#x4F60;&#x9519;&#x8FC7;&#x4E86;&#x5B83;&#xFF0C;&#x518D;&#x53BB;&#x76D1;&#x542C;&#xFF0C;&#x662F;&#x5F97;&#x4E0D;&#x5230;&#x7ED3;&#x679C;&#x7684;&#x3002;

&#x6709;&#x4E86;<span class="hljs-built_in">Promise</span>&#x5BF9;&#x8C61;&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x628A;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x4EE5;&#x540C;&#x6B65;&#x64CD;&#x4F5C;&#x7684;&#x6D41;&#x7A0B;&#x8868;&#x8FBE;&#x51FA;&#x6765;&#xFF0C;&#x907F;&#x514D;&#x4E86;&#x5C42;&#x5C42;&#x5D4C;&#x5957;&#x7684;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x3002;&#x6B64;&#x5916;&#xFF0C;<span class="hljs-built_in">Promise</span>&#x5BF9;&#x8C61;&#x63D0;&#x4F9B;&#x4E86;&#x7EDF;&#x4E00;&#x7684;&#x63A5;&#x53E3;&#xFF0C;&#x4F7F;&#x5F97;&#x63A7;&#x5236;&#x5F02;&#x6B65;&#x64CD;&#x4F5C;&#x66F4;&#x52A0;&#x5BB9;&#x6613;&#x3002;
</code></pre>
                                    <h3
                                        id="43-&#x2605;&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528;-api">
                                        <a name="43-&#x2605;&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528;-api"
                                            class="anchor-navigation-ex-anchor"
                                            href="#43-&#x2605;&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528;-api"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="43-&#x2605;&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528;-api"
                                            class="plugin-anchor"
                                            href="#43-&#x2605;&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528;-api"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-43"> 43. &#x2605;&#x2605;&#x2605;
                                            &#x6570;&#x7EC4;&#x6241;&#x5E73;&#x5316;&#xFF0C;&#x4E0D;&#x7528; api</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">myFlat</span>(<span class="hljs-params">arr</span>)</span>{
    <span class="hljs-keyword">let</span> res = [];
    <span class="hljs-keyword">for</span>(<span class="hljs-keyword">let</span> i=<span class="hljs-number">0</span>; i&lt;arr.length; i++){   
        <span class="hljs-keyword">if</span>(arr[i] <span class="hljs-keyword">instanceof</span> <span class="hljs-built_in">Array</span>){
            res = res.concat(myFlat(arr[i]));
        }<span class="hljs-keyword">else</span> {
            res.push(arr[i]);
        }
    }
    <span class="hljs-keyword">return</span> res;
}

<span class="hljs-keyword">let</span> arr = [<span class="hljs-number">1</span>,[<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,[<span class="hljs-number">4</span>,<span class="hljs-number">5</span>]]];
<span class="hljs-built_in">console</span>.log(myFlat(arr))
</code></pre>
                                    <h3
                                        id="44-&#x2605;&#x2605;&#x2605;-&#x7528;-javascript-&#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;">
                                        <a name="44-&#x2605;&#x2605;&#x2605;-&#x7528;-javascript-&#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#44-&#x2605;&#x2605;&#x2605;-&#x7528;-javascript-&#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="44-&#x2605;&#x2605;&#x2605;-&#x7528;-javascript-&#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;"
                                            class="plugin-anchor"
                                            href="#44-&#x2605;&#x2605;&#x2605;-&#x7528;-javascript-&#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-44"> 44. &#x2605;&#x2605;&#x2605; &#x7528; JavaScript
                                            &#x5B9E;&#x73B0;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">BusinessOne</span>(<span class="hljs-params">name</span>)</span>{
    <span class="hljs-keyword">this</span>.name = name;
    <span class="hljs-comment">//&#x8BA2;&#x9605;&#x8005;&#x7684;&#x96C6;&#x5408;</span>
    <span class="hljs-keyword">this</span>.subscribers = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Array</span>();
}
<span class="hljs-comment">//&#x8BA2;&#x9605;&#x8005;&#x7684;&#x53D1;&#x9001;&#x6D88;&#x606F;&#x7684;&#x65B9;&#x6CD5;(&#x63A8;&#x6A21;&#x5F0F;)</span>
BusinessOne.prototype.delive = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">news</span>)</span>{
    <span class="hljs-keyword">var</span> self = <span class="hljs-keyword">this</span>;
    <span class="hljs-comment">//&#x7ED9;&#x6BCF;&#x4E00;&#x4E2A;&#x8BA2;&#x9605;&#x8005;&#x53D1;&#x9001;&#x6D88;&#x606F;</span>
    <span class="hljs-keyword">this</span>.subscribers.forEach(
        <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">fn</span>)</span>{
            <span class="hljs-comment">//&#x8C03;&#x7528;&#x63A5;&#x53D7;&#x8005;&#x5904;&#x7406;&#x4FE1;&#x606F;&#x7684;&#x51FD;&#x6570;</span>
            fn(news,self);
        }
    )
}
<span class="hljs-comment">//&#x6269;&#x5C55;&#x516C;&#x5171;&#x8BA2;&#x9605;&#x7684;&#x51FD;&#x6570;,&#x548C;&#x53D6;&#x6D88;&#x8BA2;&#x9605;&#x7684;&#x51FD;&#x6570;</span>
<span class="hljs-built_in">Function</span>.prototype.subscribe = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">publisher</span>)</span>{
    <span class="hljs-keyword">var</span> that = <span class="hljs-keyword">this</span>;
    <span class="hljs-comment">//some &#x8BBF;&#x95EE;&#x6570;&#x7EC4;&#x5EA6;i&#x578B;&#x5E76;&#x4E14;&#x4EE5;&#x53C2;&#x6570;&#x7684;&#x5F62;&#x5F0F;&#x4F20;&#x56DE;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x4E2D;</span>
    <span class="hljs-comment">//&#x53EA;&#x8981;&#x81F3;&#x5C11;&#x6709;&#x4E00;&#x6B21;&#x8FD4;&#x56DE;&#x662F;true&#x90A3;&#x4E48;some&#x5C31;&#x662F;true</span>
    <span class="hljs-keyword">var</span> alreadyExists = publisher.subscribers.some(
        <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">el</span>)</span>{
            <span class="hljs-comment">//&#x5904;&#x7406;&#x4E0D;&#x80FD;&#x91CD;&#x590D;&#x8BA2;&#x9605;&#x7684;&#x529F;&#x80FD;</span>
            <span class="hljs-keyword">if</span>(el == that){
                <span class="hljs-keyword">return</span>;
            }
        }
    );
    <span class="hljs-comment">//&#x6CA1;&#x7528;&#x8BA2;&#x9605;&#x4F60;&#x5C31;&#x53EF;&#x4EE5;&#x8BA2;&#x9605;</span>
    <span class="hljs-keyword">if</span>(!alreadyExists){
        publisher.subscribers.push(that);
    }
    <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>;
}
<span class="hljs-comment">//&#x53D6;&#x6D88;</span>
<span class="hljs-built_in">Function</span>.prototype.unsubscribe = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">publisher</span>)</span>{
    <span class="hljs-keyword">var</span> that = <span class="hljs-keyword">this</span>;
    publisher.subscribers = publisher.subscribers.filter(
        <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">el</span>)</span>{
            <span class="hljs-keyword">if</span>(el !== that){
                <span class="hljs-keyword">return</span> el;
            }
        }
    );
    <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>;
};
</code></pre>
                                    <h3
                                        id="45-&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;">
                                        <a name="45-&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#45-&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="45-&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;"
                                            class="plugin-anchor"
                                            href="#45-&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-45"> 45. &#x2605;&#x2605;
                                            &#x7B80;&#x8FF0;&#x4E00;&#x4E0B;&#x9762;&#x8C61;&#x5BF9;&#x8C61;&#x7684;&#x516D;&#x6CD5;&#x5219;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x5355;&#x4E00;&#x804C;&#x8D23;&#x539F;&#x5219;&#xFF1A;&#x4E00;&#x4E2A;&#x7C7B;&#x53EA;&#x505A;&#x5B83;&#x8BE5;&#x505A;&#x7684;&#x4E8B;&#x60C5;
<span class="hljs-number">2.</span> &#x5F00;&#x95ED;&#x539F;&#x5219;&#xFF1A;&#x8F6F;&#x4EF6;&#x5B9E;&#x4F53;&#x5E94;&#x5F53;&#x5BF9;&#x6269;&#x5C55;&#x5F00;&#x653E;&#xFF0C;&#x5BF9;&#x4FEE;&#x6539;&#x5173;&#x95ED;
<span class="hljs-number">3.</span> &#x4F9D;&#x8D56;&#x5012;&#x8F6C;&#x539F;&#x5219;&#xFF1A;&#x9762;&#x5411;&#x63A5;&#x53E3;&#x7F16;&#x7A0B;
<span class="hljs-number">4.</span> &#x63A5;&#x53E3;&#x9694;&#x79BB;&#x539F;&#x5219;&#xFF1A;&#x63A5;&#x53E3;&#x8981;&#x5C0F;&#x800C;&#x4E13;&#xFF0C;&#x7EDD;&#x4E0D;&#x80FD;&#x5927;&#x800C;&#x5168;
<span class="hljs-number">5.</span> &#x5408;&#x6210;&#x805A;&#x5408;&#x590D;&#x7528;&#x539F;&#x5219;&#xFF1A;&#x4F18;&#x5148;&#x4F7F;&#x7528;&#x805A;&#x5408;&#x6216;&#x5408;&#x6210;&#x5173;&#x7CFB;&#x590D;&#x7528;&#x4EE3;&#x7801;
<span class="hljs-number">6.</span> &#x8FEA;&#x7C73;&#x7279;&#x6CD5;&#x5219;&#xFF1A;&#x8FEA;&#x7C73;&#x7279;&#x6CD5;&#x5219;&#x53C8;&#x53EB;&#x6700;&#x5C11;&#x77E5;&#x8BC6;&#x539F;&#x5219;&#xFF0C;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x5E94;&#x5F53;&#x5BF9;&#x5176;&#x4ED6;&#x5BF9;&#x8C61;&#x6709;&#x5C3D;&#x53EF;&#x80FD;&#x5C11;&#x7684;&#x4E86;&#x89E3;(&#x4F4E;&#x8026;&#x5408;)
</code></pre>
                                    <h3
                                        id="46-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;">
                                        <a name="46-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#46-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="46-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;"
                                            class="plugin-anchor"
                                            href="#46-&#x2605;&#x2605;&#x2605;-&#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-46"> 46. &#x2605;&#x2605;&#x2605;
                                            &#x8C08;&#x8C08;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x65B9;&#x6CD5;&#x4EE5;&#x53CA;&#x5185;&#x5B58;&#x7BA1;&#x7406;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x5783;&#x573E;&#x56DE;&#x6536;&#x65B9;&#x5F0F;
&#x2460; &#x6807;&#x8BB0;&#x6E05;&#x9664;
&#x5DE5;&#x4F5C;&#x539F;&#x7406;&#xFF1A;&#x662F;&#x5F53;&#x53D8;&#x91CF;&#x8FDB;&#x5165;&#x73AF;&#x5883;&#x65F6;&#xFF0C;&#x5C06;&#x8FD9;&#x4E2A;&#x53D8;&#x91CF;&#x6807;&#x8BB0;&#x4E3A;&#x201C;&#x8FDB;&#x5165;&#x73AF;&#x5883;&#x201D;&#x3002;&#x5F53;&#x53D8;&#x91CF;&#x79BB;&#x5F00;&#x73AF;&#x5883;&#x65F6;&#xFF0C;&#x5219;&#x5C06;&#x5176;&#x6807;&#x8BB0;&#x4E3A;&#x201C;&#x79BB;&#x5F00;&#x73AF;&#x5883;&#x201D;&#x3002;&#x6807;&#x8BB0;&#x201C;&#x79BB;&#x5F00;&#x73AF;&#x5883;&#x201D;&#x7684;&#x5C31;&#x56DE;&#x6536;&#x5185;&#x5B58;&#x3002;
&#x2461; &#x5F15;&#x7528;&#x8BA1;&#x6570;
&#x5DE5;&#x4F5C;&#x539F;&#x7406;&#xFF1A;&#x8DDF;&#x8E2A;&#x8BB0;&#x5F55;&#x6BCF;&#x4E2A;&#x503C;&#x88AB;&#x5F15;&#x7528;&#x7684;&#x6B21;&#x6570;&#x3002;&#x4E00;&#x65E6;&#x6CA1;&#x6709;&#x5F15;&#x7528;&#xFF0C;&#x5185;&#x5B58;&#x5C31;&#x76F4;&#x63A5;&#x91CA;&#x653E;&#x4E86;&#x3002;

&#x5185;&#x5B58;&#x7BA1;&#x7406;
&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x89E6;&#x53D1;&#x5783;&#x573E;&#x56DE;&#x6536;&#xFF1F;
&#x5783;&#x573E;&#x56DE;&#x6536;&#x5668;&#x5468;&#x671F;&#x6027;&#x8FD0;&#x884C;&#xFF0C;&#x5982;&#x679C;&#x5206;&#x914D;&#x7684;&#x5185;&#x5B58;&#x975E;&#x5E38;&#x591A;&#xFF0C;&#x90A3;&#x4E48;&#x56DE;&#x6536;&#x5DE5;&#x4F5C;&#x4E5F;&#x4F1A;&#x5F88;&#x8270;&#x5DE8;&#xFF0C;&#x786E;&#x5B9A;&#x5783;&#x573E;&#x56DE;&#x6536;&#x65F6;&#x95F4;&#x95F4;&#x9694;&#x5C31;&#x53D8;&#x6210;&#x4E86;&#x4E00;&#x4E2A;&#x503C;&#x5F97;&#x601D;&#x8003;&#x7684;&#x95EE;&#x9898;&#x3002;
<span class="hljs-number">1</span>&#x3001;&#x5408;&#x7406;&#x7684;GC&#x65B9;&#x6848;&#xFF1A;(<span class="hljs-number">1</span>)&#x3001;&#x904D;&#x5386;&#x6240;&#x6709;&#x53EF;&#x8BBF;&#x95EE;&#x7684;&#x5BF9;&#x8C61;; (<span class="hljs-number">2</span>)&#x3001;&#x56DE;&#x6536;&#x5DF2;&#x4E0D;&#x53EF;&#x8BBF;&#x95EE;&#x7684;&#x5BF9;&#x8C61;&#x3002;
<span class="hljs-number">2</span>&#x3001;GC&#x7F3A;&#x9677;&#xFF1A;        (<span class="hljs-number">1</span>)&#x3001;&#x505C;&#x6B62;&#x54CD;&#x5E94;&#x5176;&#x4ED6;&#x64CD;&#x4F5C;&#xFF1B;
<span class="hljs-number">3</span>&#x3001;GC&#x4F18;&#x5316;&#x7B56;&#x7565;&#xFF1A;  (<span class="hljs-number">1</span>)&#x3001;&#x5206;&#x4EE3;&#x56DE;&#x6536;&#xFF08;Generation GC&#xFF09;;(<span class="hljs-number">2</span>)&#x3001;&#x589E;&#x91CF;GC
</code></pre>
                                    <h3
                                        id="47-&#x2605;&#x2605;&#x2605;-&#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;">
                                        <a name="47-&#x2605;&#x2605;&#x2605;-&#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#47-&#x2605;&#x2605;&#x2605;-&#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="47-&#x2605;&#x2605;&#x2605;-&#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#47-&#x2605;&#x2605;&#x2605;-&#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-47"> 47. &#x2605;&#x2605;&#x2605;
                                            &#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x9047;&#x5230;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x95EE;&#x9898;&#x90FD;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x5F53;&#x9875;&#x9762;&#x4E2D;&#x5143;&#x7D20;&#x88AB;&#x79FB;&#x9664;&#x6216;&#x66FF;&#x6362;&#x65F6;&#xFF0C;&#x82E5;&#x5143;&#x7D20;&#x7ED1;&#x5B9A;&#x7684;&#x4E8B;&#x4EF6;&#x4ECD;&#x6CA1;&#x88AB;&#x79FB;&#x9664;&#xFF0C;&#x5728;IE&#x4E2D;&#x4E0D;&#x4F1A;&#x4F5C;&#x51FA;&#x6070;&#x5F53;&#x5904;&#x7406;&#xFF0C;&#x6B64;&#x65F6;&#x8981;&#x5148;&#x624B;&#x5DE5;&#x79FB;&#x9664;&#x4E8B;&#x4EF6;&#xFF0C;&#x4E0D;&#x7136;&#x4F1A;&#x5B58;&#x5728;&#x5185;&#x5B58;&#x6CC4;&#x9732;&#x3002;
<span class="hljs-number">2.</span> &#x7531;&#x4E8E;&#x662F;&#x51FD;&#x6570;&#x5185;&#x5B9A;&#x4E49;&#x51FD;&#x6570;&#xFF0C;&#x5E76;&#x4E14;&#x5185;&#x90E8;&#x51FD;&#x6570;--&#x4E8B;&#x4EF6;&#x56DE;&#x8C03;&#x7684;&#x5F15;&#x7528;&#x5916;&#x66B4;&#x4E86;&#xFF0C;&#x5F62;&#x6210;&#x4E86;&#x95ED;&#x5305;&#x3002;&#x95ED;&#x5305;&#x53EF;&#x4EE5;&#x7EF4;&#x6301;&#x51FD;&#x6570;&#x5185;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#xFF0C;&#x4F7F;&#x5176;&#x5F97;&#x4E0D;&#x5230;&#x91CA;&#x653E;&#x3002;
</code></pre>
                                    <h3
                                        id="48-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;httpsfoocomid1nametom">
                                        <a name="48-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;httpsfoocomid1nametom"
                                            class="anchor-navigation-ex-anchor"
                                            href="#48-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;httpsfoocomid1nametom"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="48-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;httpsfoocomid1nametom"
                                            class="plugin-anchor"
                                            href="#48-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;httpsfoocomid1nametom"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-48"> 48. &#x2605;&#x2605;&#x2605;
                                            &#x8BF7;&#x7F16;&#x5199;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E2D;&#x67E5;&#x8BE2;&#x53C2;&#x6570;name&#x7684;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x7A97;&#x53E3;&#x5730;&#x5740;&#x4E3A;&#xFF1A;<a
                                                href="https://foo.com/?id=1&amp;name=tom"
                                                target="_blank">https://foo.com/?id=1&amp;name=tom</a></p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">GetQueryString</span>(<span class="hljs-params">name</span>)</span>{
    <span class="hljs-keyword">var</span> reg = <span class="hljs-keyword">new</span> <span class="hljs-built_in">RegExp</span>(<span class="hljs-string">&quot;(^|&amp;)&quot;</span>+ name +<span class="hljs-string">&quot;=([^&amp;]*)(&amp;|$)&quot;</span>);
    <span class="hljs-keyword">var</span> r = <span class="hljs-built_in">window</span>.location.search.substr(<span class="hljs-number">1</span>).match(reg);
    <span class="hljs-keyword">if</span>(r!=<span class="hljs-literal">null</span>)
        <span class="hljs-keyword">return</span> <span class="hljs-built_in">unescape</span>(r[<span class="hljs-number">2</span>]); 
    <span class="hljs-keyword">return</span> <span class="hljs-literal">null</span>;
}
</code></pre>
                                    <h3
                                        id="49-&#x2605;&#x2605;&#x2605;-&#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;-let-c--new-a&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-a-&#x8F6C;&#x4E3A;-c-b&#xFF09;">
                                        <a name="49-&#x2605;&#x2605;&#x2605;-&#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;-let-c--new-a&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-a-&#x8F6C;&#x4E3A;-c-b&#xFF09;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#49-&#x2605;&#x2605;&#x2605;-&#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;-let-c--new-a&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-a-&#x8F6C;&#x4E3A;-c-b&#xFF09;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="49-&#x2605;&#x2605;&#x2605;-&#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;-let-c--new-a&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-a-&#x8F6C;&#x4E3A;-c-b&#xFF09;"
                                            class="plugin-anchor"
                                            href="#49-&#x2605;&#x2605;&#x2605;-&#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;-let-c--new-a&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-a-&#x8F6C;&#x4E3A;-c-b&#xFF09;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-49"> 49. &#x2605;&#x2605;&#x2605;
                                            &#x5DF2;&#x77E5;a&#xFF0C;b&#x4E24;&#x4E2A;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x73B0;&#x5728;
                                            let c = new
                                            a()&#xFF0C;&#x5982;&#x4F55;&#x5728;c&#x7684;&#x5B58;&#x50A8;&#x5730;&#x5740;&#x4E0D;&#x53D8;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6539;&#x53D8;c&#x7684;&#x7EE7;&#x627F;&#xFF08;c-&gt;a
                                            &#x8F6C;&#x4E3A; c-&gt;b&#xFF09;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x6539;&#x53D8;&#x539F;&#x578B;&#x94FE;&#xFF1A;&#x901A;&#x8FC7;&#x6539;&#x53D8;C&#x7684;prototype&#x4E3A;b,&#x5B9E;&#x73B0;&#x5185;&#x5B58;&#x5730;&#x5740;&#x4E0D;&#x52A8;&#xFF0C;&#x6539;&#x53D8;&#x7EE7;&#x627F;
</code></pre>
                                    <h3
                                        id="50-&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;">
                                        <a name="50-&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#50-&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="50-&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;"
                                            class="plugin-anchor"
                                            href="#50-&#x2605;&#x2605;&#x2605;-&#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-50"> 50. &#x2605;&#x2605;&#x2605;
                                            &#x6D4F;&#x89C8;&#x5668;&#x6709;&#x54EA;&#x4E9B;&#x517C;&#x5BB9;&#x95EE;&#x9898;&#xFF0C;&#x4F60;&#x5C01;&#x88C5;&#x8FC7;&#x4EC0;&#x4E48;&#x63D2;&#x4EF6;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">//1.&#x6EDA;&#x52A8;&#x6761;&#x5230;&#x9876;&#x7AEF;&#x7684;&#x8DDD;&#x79BB;&#xFF08;&#x6EDA;&#x52A8;&#x9AD8;&#x5EA6;&#xFF09;</span>
<span class="hljs-keyword">var</span> scrollTop = <span class="hljs-built_in">document</span>.documentElement.scrollTop || <span class="hljs-built_in">document</span>.body.scrollTop;

<span class="hljs-comment">//2.&#x6EDA;&#x52A8;&#x6761;&#x5230;&#x5DE6;&#x7AEF;&#x7684;&#x8DDD;&#x79BB;</span>
<span class="hljs-keyword">var</span> scrollLeft = <span class="hljs-built_in">document</span>.documentElement.scrollLeft || <span class="hljs-built_in">document</span>.body.scrollLeft;

<span class="hljs-comment">//3. IE9&#x4EE5;&#x4E0B;byClassName</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">byClassName</span>(<span class="hljs-params">obj,className</span>)</span>{
    <span class="hljs-comment">//&#x5224;&#x65AD;&#x662F;&#x5426;&#x652F;&#x6301;byClassName</span>
    <span class="hljs-keyword">if</span>(obj.getElementsByClassName){
        <span class="hljs-comment">//&#x652F;&#x6301;</span>
        <span class="hljs-keyword">return</span> obj.getElementsByClassName(className);
    }<span class="hljs-keyword">else</span>{
        <span class="hljs-comment">//&#x4E0D;&#x652F;&#x6301;</span>
        <span class="hljs-keyword">var</span> eles = obj.getElementsByTagName(<span class="hljs-string">&apos;*&apos;</span>); <span class="hljs-comment">//&#x83B7;&#x53D6;&#x6240;&#x6709;&#x7684;&#x6807;&#x7B7E;</span>
        <span class="hljs-keyword">var</span> arr = []; <span class="hljs-comment">//&#x7A7A;&#x6570;&#x7EC4;&#xFF0C;&#x51C6;&#x5907;&#x653E;&#x7F6E;&#x627E;&#x5230;&#x7684;&#x5BF9;&#x8C61;</span>
        <span class="hljs-comment">//&#x904D;&#x5386;&#x6240;&#x6709;&#x7684;&#x6807;&#x7B7E;</span>
        <span class="hljs-keyword">for</span>(<span class="hljs-keyword">var</span> i = <span class="hljs-number">0</span>,len = eles.length;i &lt; len;i ++){
            <span class="hljs-comment">//&#x627E;&#x51FA;&#x4E0E;&#x6211;&#x6307;&#x5B9A;class&#x540D;&#x76F8;&#x540C;&#x7684;&#x5BF9;&#x8C61;</span>
            <span class="hljs-keyword">if</span>(eles[i].className === className){
                arr.push(eles[i]); <span class="hljs-comment">//&#x5B58;&#x5165;&#x6570;&#x7EC4;</span>
            }
        }
        <span class="hljs-keyword">return</span> arr; <span class="hljs-comment">//&#x8FD4;&#x56DE;</span>
    }
}

<span class="hljs-comment">//4. &#x83B7;&#x53D6;&#x975E;&#x884C;&#x5185;&#x6837;&#x5F0F;&#x517C;&#x5BB9;    IE:currentStyle  &#x6807;&#x51C6;&#xFF1A;getComputedStyle</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getStyle</span>(<span class="hljs-params">obj,attr</span>)</span>{
    <span class="hljs-keyword">return</span> <span class="hljs-built_in">window</span>.getComputedStyle ? getComputedStyle(obj,<span class="hljs-literal">true</span>)[attr] : obj.currentStyle[attr];
}
<span class="hljs-comment">//div.style.width =  &apos;&apos;;&#x8BBE;&#x7F6E;&#x6837;&#x5F0F;</span>
<span class="hljs-comment">//obj[&apos;&#x5C5E;&#x6027;&apos;]&#xFF1A; &#x5BF9;&#x8C61;&#x662F;&#x53D8;&#x91CF;&#x65F6;&#xFF0C;&#x5FC5;&#x987B;&#x7528;&#x5BF9;&#x8C61;[&apos;&#x5C5E;&#x6027;&apos;]&#x83B7;&#x53D6;&#x3002;</span>

<span class="hljs-comment">//5. &#x83B7;&#x53D6;&#x4E8B;&#x4EF6;&#x5BF9;&#x8C61;&#x7684;&#x517C;&#x5BB9;</span>
evt = evt || <span class="hljs-built_in">window</span>.event

<span class="hljs-comment">//6. &#x83B7;&#x53D6;&#x9F20;&#x6807;&#x7F16;&#x7801;&#x503C;&#x7684;&#x517C;&#x5BB9;</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getButton</span>(<span class="hljs-params">evt</span>)</span>{
    <span class="hljs-keyword">var</span> e = evt || <span class="hljs-built_in">window</span>.event;
    <span class="hljs-keyword">if</span>(evt){
        <span class="hljs-keyword">return</span> e.button;
    }<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(<span class="hljs-built_in">window</span>.event){
        <span class="hljs-keyword">switch</span>(e.button){
            <span class="hljs-keyword">case</span> <span class="hljs-number">1</span> : <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
            <span class="hljs-keyword">case</span> <span class="hljs-number">4</span> : <span class="hljs-keyword">return</span> <span class="hljs-number">1</span>;
            <span class="hljs-keyword">case</span> <span class="hljs-number">2</span> : <span class="hljs-keyword">return</span> <span class="hljs-number">2</span>;
        }
    }
}

<span class="hljs-comment">//7. &#x83B7;&#x53D6;&#x952E;&#x76D8;&#x6309;&#x952E;&#x7F16;&#x7801;&#x503C;&#x7684;&#x517C;&#x5BB9;</span>
<span class="hljs-keyword">var</span> key = evt.keyCode || evt.charCode || evt.which;

<span class="hljs-comment">//8. &#x963B;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#x7684;&#x517C;&#x5BB9;</span>
e.stopPropagation ? e.stopPropagation() : e.cancelBubble = <span class="hljs-literal">true</span>;

<span class="hljs-comment">//9. &#x963B;&#x6B62;&#x8D85;&#x94FE;&#x63A5;&#x7684;&#x9ED8;&#x8BA4;&#x884C;&#x4E3A;&#x7684;&#x517C;&#x5BB9;</span>
evt.preventDefault ? evt.preventDefault() : evt.returnValue = <span class="hljs-literal">false</span>;

<span class="hljs-comment">//10. &#x6DFB;&#x52A0;&#x4E8B;&#x4EF6;&#x76D1;&#x542C;&#x5668;&#x7684;&#x517C;&#x5BB9;</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">addEventListener</span>(<span class="hljs-params">obj,event,fn,boo</span>)</span>{
    <span class="hljs-keyword">if</span>(obj.addEventListener){
        obj.addEventListener(event,fn,boo);
    }<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(obj.attachEvent){
        obj.attachEvent(<span class="hljs-string">&apos;on&apos;</span> + event,fn);
    }
}

<span class="hljs-comment">//11. &#x79FB;&#x9664;&#x4E8B;&#x4EF6;&#x76D1;&#x542C;&#x5668;&#x7684;&#x517C;&#x5BB9;</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">removeEventListener</span>(<span class="hljs-params">obj,event,fn,boo</span>)</span>{
    <span class="hljs-keyword">if</span>(obj.removeEventListener){
        obj.removeEventListener(event,fn,boo);
    }<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(obj.detachEvent){
        obj.detachEvent(<span class="hljs-string">&apos;on&apos;</span> + event,fn);
    }
}

<span class="hljs-comment">//12. &#x83B7;&#x53D6;&#x4E8B;&#x4EF6;&#x6E90;&#x7684;&#x517C;&#x5BB9;</span>
<span class="hljs-keyword">var</span> target = event.target || event.srcElement;
</code></pre>
                                    <h3
                                        id="51-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;">
                                        <a name="51-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#51-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="51-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;"
                                            class="plugin-anchor"
                                            href="#51-&#x2605;&#x2605;&#x2605;-&#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-51"> 51. &#x2605;&#x2605;&#x2605;
                                            &#x5982;&#x4F55;&#x5224;&#x65AD;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x4E3A;&#x6570;&#x7EC4;&#xFF0C;&#x51FD;&#x6570;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x65B9;&#x6CD5;&#x4E00;&#xFF1A; <span class="hljs-keyword">instanceof</span>:
<span class="hljs-keyword">var</span> arr=[];
<span class="hljs-built_in">console</span>.log(arr <span class="hljs-keyword">instanceof</span> <span class="hljs-built_in">Array</span>) <span class="hljs-comment">//&#x8FD4;&#x56DE;true</span>

&#x65B9;&#x6CD5;&#x4E8C;&#xFF1A; <span class="hljs-keyword">constructor</span>:
console.log(arr.<span class="hljs-keyword">constructor</span> == Array); //&#x8FD4;&#x56DE;true

&#x65B9;&#x6CD5;&#x4E09;&#xFF1A; Array.isArray()
console.log(Array.isArray(arr)); //&#x8FD4;&#x56DE;true
</code></pre>
                                    <h3
                                        id="52-&#x2605;&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;">
                                        <a name="52-&#x2605;&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#52-&#x2605;&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="52-&#x2605;&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;"
                                            class="plugin-anchor"
                                            href="#52-&#x2605;&#x2605;&#x2605;-&#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-52"> 52. &#x2605;&#x2605;&#x2605;
                                            &#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x63A5;&#x53D7;&#x53EF;&#x53D8;&#x4E2A;&#x6570;&#x53C2;&#x6570;&#xFF0C;&#x4E14;&#x6BCF;&#x4E2A;&#x53C2;&#x6570;&#x5747;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#x7684;&#x6700;&#x5927;&#x503C;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">myMax</span>(<span class="hljs-params"></span>)</span>{
    <span class="hljs-keyword">return</span> <span class="hljs-built_in">Math</span>.max(<span class="hljs-built_in">arguments</span>)
}
</code></pre>
                                    <h3 id="53-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x5199;&#x51FA;-es6-arrayisarray"><a
                                            name="53-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x5199;&#x51FA;-es6-arrayisarray"
                                            class="anchor-navigation-ex-anchor"
                                            href="#53-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x5199;&#x51FA;-es6-arrayisarray"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="53-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x5199;&#x51FA;-es6-arrayisarray"
                                            class="plugin-anchor"
                                            href="#53-&#x2605;&#x2605;&#x2605;-&#x8BF7;&#x5199;&#x51FA;-es6-arrayisarray"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-53"> 53. &#x2605;&#x2605;&#x2605; &#x8BF7;&#x5199;&#x51FA; ES6
                                            Array.isArray()</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-keyword">if</span> (!<span class="hljs-built_in">Array</span>.isArray){
  <span class="hljs-built_in">Array</span>.isArray = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">arg</span>)</span>{
    <span class="hljs-keyword">return</span> <span class="hljs-built_in">Object</span>.prototype.toString.call(arg) === <span class="hljs-string">&apos;[object Array]&apos;</span>;
  };
}
</code></pre>
                                    <h3
                                        id="54-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9;-javascript-&#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;">
                                        <a name="54-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9;-javascript-&#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#54-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9;-javascript-&#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="54-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9;-javascript-&#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;"
                                            class="plugin-anchor"
                                            href="#54-&#x2605;&#x2605;&#x2605;-&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;-clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9;-javascript-&#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-54"> 54. &#x2605;&#x2605;&#x2605;
                                            &#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;
                                            clone&#xFF0C;&#x53EF;&#x4EE5;&#x5BF9; JavaScript
                                            &#x4E2D;&#x7684;5&#x79CD;&#x4E3B;&#x8981;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x503C;&#x590D;&#x5236;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x65B9;&#x6CD5;&#x4E00;&#xFF1A;</span>
<span class="hljs-built_in">Object</span>.prototype.clone = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) </span>{
    <span class="hljs-keyword">var</span> o = <span class="hljs-keyword">this</span>.constructor === <span class="hljs-built_in">Array</span> ? [] : {};
    <span class="hljs-keyword">for</span> (<span class="hljs-keyword">var</span> e <span class="hljs-keyword">in</span> <span class="hljs-keyword">this</span>) {
        o[e] = <span class="hljs-keyword">typeof</span> <span class="hljs-keyword">this</span>[e] === <span class="hljs-string">&quot;object&quot;</span> ? <span class="hljs-keyword">this</span>[e].clone() : <span class="hljs-keyword">this</span>[e];
    }
    <span class="hljs-keyword">return</span> o;
};

<span class="hljs-comment">//&#x65B9;&#x6CD5;&#x4E8C;&#xFF1A;</span>
<span class="hljs-comment">/**
     * &#x514B;&#x9686;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;
     * @param Obj
     * @returns
     */</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">clone</span>(<span class="hljs-params">Obj</span>) </span>{
    <span class="hljs-keyword">var</span> buf;
    <span class="hljs-keyword">if</span> (Obj <span class="hljs-keyword">instanceof</span> <span class="hljs-built_in">Array</span>) {
        buf = []; <span class="hljs-comment">//&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x7A7A;&#x7684;&#x6570;&#x7EC4;</span>
        <span class="hljs-keyword">var</span> i = Obj.length;
        <span class="hljs-keyword">while</span> (i--) {
            buf[i] = clone(Obj[i]);
        }
        <span class="hljs-keyword">return</span> buf;
    } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (Obj <span class="hljs-keyword">instanceof</span> <span class="hljs-built_in">Object</span>) {
        buf = {}; <span class="hljs-comment">//&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x7A7A;&#x5BF9;&#x8C61;</span>
        <span class="hljs-keyword">for</span> (<span class="hljs-keyword">var</span> k <span class="hljs-keyword">in</span> Obj) {
            <span class="hljs-comment">//&#x4E3A;&#x8FD9;&#x4E2A;&#x5BF9;&#x8C61;&#x6DFB;&#x52A0;&#x65B0;&#x7684;&#x5C5E;&#x6027;</span>
            buf[k] = clone(Obj[k]);
        }
        <span class="hljs-keyword">return</span> buf;
    } <span class="hljs-keyword">else</span> {
        <span class="hljs-comment">//&#x666E;&#x901A;&#x53D8;&#x91CF;&#x76F4;&#x63A5;&#x8D4B;&#x503C;</span>
        <span class="hljs-keyword">return</span> Obj;
    }
}
</code></pre>
                                    <h3
                                        id="55-&#x2605;&#x2605;&#x2605;-&#x5047;&#x5982;a&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;b&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;a&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;">
                                        <a name="55-&#x2605;&#x2605;&#x2605;-&#x5047;&#x5982;a&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;b&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;a&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#55-&#x2605;&#x2605;&#x2605;-&#x5047;&#x5982;a&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;b&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;a&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="55-&#x2605;&#x2605;&#x2605;-&#x5047;&#x5982;a&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;b&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;a&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;"
                                            class="plugin-anchor"
                                            href="#55-&#x2605;&#x2605;&#x2605;-&#x5047;&#x5982;a&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;b&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;a&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-55"> 55. &#x2605;&#x2605;&#x2605;
                                            &#x5047;&#x5982;A&#x9875;&#x9762;&#x6211;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x7136;&#x540E;&#x8DF3;&#x5230;B&#x9875;&#x9762;&#x5982;&#x679C;&#x8BA9;A&#x9875;&#x9762;&#x7684;&#x5B9A;&#x65F6;&#x5668;&#x6682;&#x505C;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x65B9;&#x6CD5;<span class="hljs-number">1</span>&#xFF1A;&#x5728;beforeDestroy()&#x7B49;&#x751F;&#x547D;&#x5468;&#x671F;&#x7ED3;&#x675F;&#x9636;&#x6BB5;&#x5185;&#x6E05;&#x9664;&#x5B9A;&#x65F6;&#x5668;&#xFF1A;
beforeDestroy() {
    clearInterval(<span class="hljs-keyword">this</span>.timer);
    <span class="hljs-keyword">this</span>.timer = <span class="hljs-literal">null</span>;
}

&#x65B9;&#x6CD5;<span class="hljs-number">2</span>&#xFF1A;&#x901A;&#x8FC7;$once&#x8FD9;&#x4E2A;&#x4E8B;&#x4EF6;&#x4FA6;&#x542C;&#x5668;&#x5668;&#x5728;&#x5B9A;&#x4E49;&#x5B8C;&#x5B9A;&#x65F6;&#x5668;&#x4E4B;&#x540E;&#x7684;&#x4F4D;&#x7F6E;&#x6765;&#x6E05;&#x9664;&#x5B9A;&#x65F6;&#x5668;&#x3002;

<span class="hljs-keyword">const</span> timer = setInterval(() =&gt;{
    <span class="hljs-comment">// &#x67D0;&#x4E9B;&#x5B9A;&#x65F6;&#x5668;&#x64CD;&#x4F5C;</span>
}, <span class="hljs-number">500</span>);
<span class="hljs-comment">// &#x901A;&#x8FC7;$once&#x6765;&#x76D1;&#x542C;&#x5B9A;&#x65F6;&#x5668;&#xFF0C;&#x5728;beforeDestroy&#x94A9;&#x5B50;&#x53EF;&#x4EE5;&#x88AB;&#x6E05;&#x9664;&#x3002;</span>
<span class="hljs-keyword">this</span>.$once(<span class="hljs-string">&apos;hook:beforeDestroy&apos;</span>, () =&gt; {
    clearInterval(timer);
})
</code></pre>
                                    <h3
                                        id="56-&#x2605;&#x2605;&#x2605;-promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay">
                                        <a name="56-&#x2605;&#x2605;&#x2605;-promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay"
                                            class="anchor-navigation-ex-anchor"
                                            href="#56-&#x2605;&#x2605;&#x2605;-promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="56-&#x2605;&#x2605;&#x2605;-promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay"
                                            class="plugin-anchor"
                                            href="#56-&#x2605;&#x2605;&#x2605;-promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-56"> 56. &#x2605;&#x2605;&#x2605;
                                            promise&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x73B0;&#x5728;&#x5411;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x540E;&#x6094;&#x4E86;&#xFF0C;&#x4E0D;&#x60F3;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#xFF0C;&#x53BB;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;delay
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x53D6;&#x6D88;&#x7ED3;&#x675F;<span class="hljs-built_in">Promise</span>&#x7684;&#x65B9;&#x6CD5;&#xFF1F;
<span class="hljs-number">1.</span> &#x8FD4;&#x56DE;&#x4E00;&#x4E2A;pending&#x72B6;&#x6001;&#x7684;<span class="hljs-built_in">Promise</span>&#xFF0C;&#x539F;<span class="hljs-built_in">Promise</span>&#x94FE;&#x4F1A;&#x7EC8;&#x6B62;
<span class="hljs-built_in">Promise</span>.resolve().then(() =&gt; {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;ok1&apos;</span>)
    <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(()=&gt;{})  <span class="hljs-comment">// &#x8FD4;&#x56DE;&#x201C;pending&#x201D;&#x72B6;&#x6001;&#x7684;Promise&#x5BF9;&#x8C61;</span>
}).then(() =&gt; {
    <span class="hljs-comment">// &#x540E;&#x7EED;&#x7684;&#x51FD;&#x6570;&#x4E0D;&#x4F1A;&#x88AB;&#x8C03;&#x7528;</span>
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;ok2&apos;</span>)
}).catch(err =&gt; {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;err-&gt;&apos;</span>, err)
})

<span class="hljs-number">2.</span> <span class="hljs-built_in">Promise</span>.race&#x7ADE;&#x901F;&#x65B9;&#x6CD5;

<span class="hljs-keyword">let</span> p1 = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>((resolve, reject) =&gt; {
    resolve(<span class="hljs-string">&apos;ok1&apos;</span>)
})

<span class="hljs-keyword">let</span> p2 = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>((resolve, reject) =&gt; {
    setTimeout(() =&gt; {resolve(<span class="hljs-string">&apos;ok2&apos;</span>)}, <span class="hljs-number">10</span>)
})

<span class="hljs-built_in">Promise</span>.race([p2, p1]).then((result) =&gt; {
    <span class="hljs-built_in">console</span>.log(result) <span class="hljs-comment">//ok1</span>
}).catch((error) =&gt; {
    <span class="hljs-built_in">console</span>.log(error)
})

<span class="hljs-number">3.</span> &#x5F53;<span class="hljs-built_in">Promise</span>&#x94FE;&#x4E2D;&#x629B;&#x51FA;&#x9519;&#x8BEF;&#x65F6;&#xFF0C;&#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x6CBF;&#x7740;&#x94FE;&#x8DEF;&#x5411;&#x540E;&#x4F20;&#x9012;&#xFF0C;&#x76F4;&#x81F3;&#x6355;&#x83B7;
<span class="hljs-built_in">Promise</span>.resolve().then(() =&gt; {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;ok1&apos;</span>)
    <span class="hljs-keyword">throw</span> <span class="hljs-string">&apos;throw error1&apos;</span>
}).then(() =&gt; {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;ok2&apos;</span>)
}, err =&gt; {     
    <span class="hljs-comment">// &#x6355;&#x83B7;&#x9519;&#x8BEF;</span>
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;err-&gt;&apos;</span>, err)
}).then(() =&gt; {   
    <span class="hljs-comment">// &#x8BE5;&#x51FD;&#x6570;&#x5C06;&#x88AB;&#x8C03;&#x7528;</span>
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;ok3&apos;</span>)
    <span class="hljs-keyword">throw</span> <span class="hljs-string">&apos;throw error3&apos;</span>
}).then(() =&gt; {
    <span class="hljs-comment">// &#x9519;&#x8BEF;&#x6355;&#x83B7;&#x524D;&#x7684;&#x51FD;&#x6570;&#x4E0D;&#x4F1A;&#x88AB;&#x8C03;&#x7528;</span>
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;ok4&apos;</span>)
}).catch(err =&gt; {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;err-&gt;&apos;</span>, err)

Axios&#x5982;&#x4F55;&#x53D6;&#x6D88;&#x8BF7;&#x6C42;&#xFF1F;
&#x7B2C;&#x4E00;&#x79CD;&#x901A;&#x8FC7;CancelToken.source&#x5DE5;&#x5382;&#x65B9;&#x6CD5;&#x521B;&#x5EFA;cancel token

<span class="hljs-keyword">var</span> CancelToken = axios.CancelToken;
<span class="hljs-keyword">var</span> source = CancelToken.source();

axios.get(<span class="hljs-string">&apos;/user/12345&apos;</span>, {
  cancelToken: source.token
}).catch(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">thrown</span>) </span>{
  <span class="hljs-keyword">if</span> (axios.isCancel(thrown)) {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;Request canceled&apos;</span>, thrown.message);
  } <span class="hljs-keyword">else</span> {
    <span class="hljs-comment">// &#x5904;&#x7406;&#x9519;&#x8BEF;</span>
  }
});

<span class="hljs-comment">// &#x53D6;&#x6D88;&#x8BF7;&#x6C42;&#xFF08;message &#x53C2;&#x6570;&#x662F;&#x53EF;&#x9009;&#x7684;&#xFF09;</span>
source.cancel(<span class="hljs-string">&apos;Operation canceled by the user.&apos;</span>);
&#x7B2C;&#x4E8C;&#x79CD;&#x901A;&#x8FC7;&#x4F20;&#x9012;executor&#x51FD;&#x6570;&#x5230;CancelToken&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x6765;&#x521B;&#x5EFA;cancel token

<span class="hljs-keyword">var</span> CancelToken = axios.CancelToken;
<span class="hljs-keyword">var</span> cancel;

axios.get(<span class="hljs-string">&apos;/user/12345&apos;</span>, {
  cancelToken: <span class="hljs-keyword">new</span> CancelToken(<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">executor</span>(<span class="hljs-params">c</span>) </span>{
    <span class="hljs-comment">// executor &#x51FD;&#x6570;&#x63A5;&#x6536;&#x4E00;&#x4E2A; cancel &#x51FD;&#x6570;&#x4F5C;&#x4E3A;&#x53C2;&#x6570;</span>
    cancel = c;
  })
});

<span class="hljs-comment">// &#x53D6;&#x6D88;&#x8BF7;&#x6C42;</span>
cancel();
</code></pre>
                                    <h3
                                        id="57-&#x2605;&#x2605;&#x2605;-commonjs-&#x548C;-requirejs-&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;">
                                        <a name="57-&#x2605;&#x2605;&#x2605;-commonjs-&#x548C;-requirejs-&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#57-&#x2605;&#x2605;&#x2605;-commonjs-&#x548C;-requirejs-&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="57-&#x2605;&#x2605;&#x2605;-commonjs-&#x548C;-requirejs-&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;"
                                            class="plugin-anchor"
                                            href="#57-&#x2605;&#x2605;&#x2605;-commonjs-&#x548C;-requirejs-&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-57"> 57. &#x2605;&#x2605;&#x2605; CommonJS &#x548C; RequireJS
                                            &#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;</p>
                                    </h3>
                                    <pre><code class="lang-JS">commonjs&#x662F;&#x901A;&#x8FC7;<span class="hljs-built_in">module</span>.exports&#x5BFC;&#x51FA;&#x6A21;&#x5757;,&#x7528;<span class="hljs-built_in">require</span>&#x5F15;&#x5165;&#x4E00;&#x4E2A;&#x6A21;&#x5757;&#xFF0C;&#x539F;&#x7406;&#xFF1A;&#x95ED;&#x5305;

requirejs&#x662F;&#x901A;&#x8FC7;define&#x5B9A;&#x4E49;&#x5BFC;&#x51FA;&#x6A21;&#x5757;&#xFF0C;&#x7528;<span class="hljs-built_in">require</span>&#x5F15;&#x5165;&#x6A21;&#x5757;&#x3002;
define(<span class="hljs-string">&apos;name&apos;</span>,[],<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
    <span class="hljs-keyword">return</span> <span class="hljs-string">&apos;requirejs&apos;</span>
})
define(<span class="hljs-string">&apos;say&apos;</span>,[<span class="hljs-string">&apos;name&apos;</span>].function(name){
    <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;my name is&quot;</span> + name
})
<span class="hljs-built_in">require</span>([<span class="hljs-string">&apos;say&apos;</span>],<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">text</span>)</span>{
    <span class="hljs-built_in">console</span>.log(text)
})
</code></pre>
                                    <h3
                                        id="58-&#x2605;&#x2605;&#x2605;-&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="58-&#x2605;&#x2605;&#x2605;-&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#58-&#x2605;&#x2605;&#x2605;-&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="58-&#x2605;&#x2605;&#x2605;-&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#58-&#x2605;&#x2605;&#x2605;-&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-58"> 58. &#x2605;&#x2605;&#x2605;
                                            &#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7F16;&#x7A0B;&#x4E0E;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7F16;&#x7A0B;&#x7684;&#x533A;&#x522B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x7684;&#x7A0B;&#x5E8F;&#x8BBE;&#x8BA1;&#x628A;&#x8BA1;&#x7B97;&#x673A;&#x7A0B;&#x5E8F;&#x89C6;&#x4E3A;&#x4E00;&#x7CFB;&#x5217;&#x7684;&#x547D;&#x4EE4;&#x96C6;&#x5408;&#xFF0C;&#x5373;&#x4E00;&#x7EC4;&#x51FD;&#x6570;&#x7684;&#x987A;&#x5E8F;&#x6267;&#x884C;&#x3002;&#x4E3A;&#x4E86;&#x7B80;&#x5316;&#x7A0B;&#x5E8F;&#x8BBE;&#x8BA1;&#xFF0C;&#x9762;&#x5411;&#x8FC7;&#x7A0B;&#x628A;&#x51FD;&#x6570;&#x7EE7;&#x7EED;&#x5207;&#x5206;&#x4E3A;&#x5B50;&#x51FD;&#x6570;&#xFF0C;&#x5373;&#x628A;&#x5927;&#x5757;&#x51FD;&#x6570;&#x901A;&#x8FC7;&#x5207;&#x5272;&#x6210;&#x5C0F;&#x5757;&#x51FD;&#x6570;&#x6765;&#x964D;&#x4F4E;&#x7CFB;&#x7EDF;&#x7684;&#x590D;&#x6742;&#x5EA6;&#x3002;

&#x800C;&#x9762;&#x5411;&#x5BF9;&#x8C61;&#x7684;&#x7A0B;&#x5E8F;&#x8BBE;&#x8BA1;&#x628A;&#x8BA1;&#x7B97;&#x673A;&#x7A0B;&#x5E8F;&#x89C6;&#x4E3A;&#x4E00;&#x7EC4;&#x5BF9;&#x8C61;&#x7684;&#x96C6;&#x5408;&#xFF0C;&#x800C;&#x6BCF;&#x4E2A;&#x5BF9;&#x8C61;&#x90FD;&#x53EF;&#x4EE5;&#x63A5;&#x6536;&#x5176;&#x4ED6;&#x5BF9;&#x8C61;&#x53D1;&#x8FC7;&#x6765;&#x7684;&#x6D88;&#x606F;&#xFF0C;&#x5E76;&#x5904;&#x7406;&#x8FD9;&#x4E9B;&#x6D88;&#x606F;&#xFF0C;&#x8BA1;&#x7B97;&#x673A;&#x7A0B;&#x5E8F;&#x7684;&#x6267;&#x884C;&#x5C31;&#x662F;&#x4E00;&#x7CFB;&#x5217;&#x6D88;&#x606F;&#x5728;&#x5404;&#x4E2A;&#x5BF9;&#x8C61;&#x4E4B;&#x95F4;&#x4F20;&#x9012;&#x3002;
</code></pre>
                                    <h3
                                        id="59-&#x2605;&#x2605;&#x2605;-eval-&#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;">
                                        <a name="59-&#x2605;&#x2605;&#x2605;-eval-&#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#59-&#x2605;&#x2605;&#x2605;-eval-&#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="59-&#x2605;&#x2605;&#x2605;-eval-&#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#59-&#x2605;&#x2605;&#x2605;-eval-&#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-59"> 59. &#x2605;&#x2605;&#x2605; eval
                                            &#x662F;&#x505A;&#x4EC0;&#x4E48;&#x7684;&#xFF1F;&#x6027;&#x80FD;&#x600E;&#x4E48;&#x6837;&#xFF1F;&#x5B89;&#x5168;&#x5982;&#x4F55;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x5B83;&#x7684;&#x529F;&#x80FD;&#x662F;&#x628A;&#x5BF9;&#x5E94;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x89E3;&#x6790;&#x6210;js&#x4EE3;&#x7801;&#x5E76;&#x8FD0;&#x884C;&#xFF0C;

&#x5E94;&#x8BE5;&#x907F;&#x514D;&#x4F7F;&#x7528;<span class="hljs-built_in">eval</span>,&#x56E0;&#x4E3A;&#x4E0D;&#x5B89;&#x5168;&#xFF0C;&#x975E;&#x5E38;&#x8017;&#x6027;&#x80FD;&#xFF08;<span class="hljs-number">2</span>&#x6B21;&#xFF0C;&#x4E00;&#x6B21;&#x89E3;&#x6790;&#x6210;js&#x8BED;&#x53E5;&#xFF0C;&#x4E00;&#x6B21;&#x6267;&#x884C;&#xFF09;

&#x6CE8;&#x610F;&#xFF1A;&#x5728;&#x9879;&#x76EE;&#x91CC;&#x5199;js&#x4EE3;&#x7801;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x7981;&#x6B62;&#x4F7F;&#x7528;&#x7684;&#xFF0C;&#x56E0;&#x4E3A;&#x6709;&#x5B89;&#x5168;&#x56E0;&#x7D20;&#x3002;
</code></pre>
                                    <h3
                                        id="60-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll-resize-&#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;">
                                        <a name="60-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll-resize-&#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#60-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll-resize-&#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="60-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll-resize-&#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;"
                                            class="plugin-anchor"
                                            href="#60-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-&#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll-resize-&#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-60"> 60. &#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x51FD;&#x6570;&#x8282;&#x6D41;&#x3001;&#x9632;&#x6296;&#x3002;scroll
                                            resize
                                            &#x4F7F;&#x7528;&#x51FD;&#x6570;&#x8282;&#x6D41;&#x5B9E;&#x73B0;&#x4E0D;&#x8981;&#x9891;&#x7E41;&#x89E6;&#x53D1;&#x4E8B;&#x4EF6;&#x7684;&#x9700;&#x6C42;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
&#x9632;&#x6296;&#xFF1A;
<span class="hljs-comment">//scroll&#x65B9;&#x6CD5;&#x4E2D;&#x7684;do somthing&#x81F3;&#x5C11;&#x95F4;&#x9694;500&#x6BEB;&#x79D2;&#x6267;&#x884C;&#x4E00;&#x6B21;</span>
    <span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">&apos;scroll&apos;</span>,<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-keyword">var</span> timer;<span class="hljs-comment">//&#x4F7F;&#x7528;&#x95ED;&#x5305;&#xFF0C;&#x7F13;&#x5B58;&#x53D8;&#x91CF;</span>
        <span class="hljs-keyword">return</span> <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
            <span class="hljs-keyword">if</span>(timer) clearTimeout(timer);
            timer = setTimeout(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
                <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;do somthing&apos;</span>)
            },<span class="hljs-number">500</span>)
        }
    }());<span class="hljs-comment">//&#x6B64;&#x5904;()&#x4F5C;&#x7528; - &#x7ACB;&#x5373;&#x8C03;&#x7528;return&#x540E;&#x9762;&#x51FD;&#x6570;&#xFF0C;&#x5F62;&#x6210;&#x95ED;&#x5305;</span>
&#x8282;&#x6D41;&#xFF1A;
<span class="hljs-comment">//scroll&#x65B9;&#x6CD5;&#x4E2D;&#x5F53;&#x95F4;&#x9694;&#x65F6;&#x95F4;&#x5927;&#x4E8E;2s&#xFF0C;do somthing&#x6267;&#x884C;&#x4E00;&#x6B21;</span>
    <span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">&apos;scroll&apos;</span>,<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-keyword">var</span> timer ;<span class="hljs-comment">//&#x4F7F;&#x7528;&#x95ED;&#x5305;&#xFF0C;&#x7F13;&#x5B58;&#x53D8;&#x91CF;</span>
        <span class="hljs-keyword">var</span> startTime = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>();
        <span class="hljs-keyword">return</span> <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
            <span class="hljs-keyword">var</span> curTime = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>();
            <span class="hljs-keyword">if</span>(curTime - startTime &gt;= <span class="hljs-number">2000</span>){
                timer = setTimeout(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
                    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;do somthing&apos;</span>)
                },<span class="hljs-number">500</span>);
                startTime = curTime;
            }

        }
    }());<span class="hljs-comment">//&#x6B64;&#x5904;()&#x4F5C;&#x7528; - &#x7ACB;&#x5373;&#x8C03;&#x7528;return&#x540E;&#x9762;&#x51FD;&#x6570;&#xFF0C;&#x5F62;&#x6210;&#x95ED;&#x5305;</span>
</code></pre>
                                    <h3
                                        id="61-&#x2605;&#x2605;&#x2605;-&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;&#x548C;&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;">
                                        <a name="61-&#x2605;&#x2605;&#x2605;-&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;&#x548C;&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#61-&#x2605;&#x2605;&#x2605;-&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;&#x548C;&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="61-&#x2605;&#x2605;&#x2605;-&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;&#x548C;&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;"
                                            class="plugin-anchor"
                                            href="#61-&#x2605;&#x2605;&#x2605;-&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;&#x548C;&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-61"> 61. &#x2605;&#x2605;&#x2605;
                                            &#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF08;&#x5224;&#x65AD;&#xFF0C;==&#x548C;===&#xFF09;&#x5806;&#x6808;&#x3001;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x53CA;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
<span class="hljs-number">1</span>&#xFF0C;== &#x5224;&#x65AD;&#x503C;&#x662F;&#x5426;&#x76F8;&#x7B49;&#xFF1B; === &#x5224;&#x65AD;&#x503C;&#x548C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x662F;&#x5426;&#x4E25;&#x683C;&#x76F8;&#x7B49;
<span class="hljs-number">2</span>&#xFF0C;Javascript&#x5806;&#x6808;&#x548C;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;
&#x5806;&#x6808;&#x6EA2;&#x51FA;
&#x200B; &#x5F53;&#x50A8;&#x5B58;&#x7684;&#x6570;&#x636E;&#x5BFC;&#x5230;&#x67D0;&#x4E00;&#x9650;&#x5236;&#x65F6;&#x5C31;&#x4F1A;&#x9020;&#x6210;&#x5806;&#x6808;&#x6EA2;&#x51FA;

&#x5185;&#x5B58;&#x6CC4;&#x6F0F;
&#x200B; &#x5F53;&#x4E0D;&#x65AD;&#x5411;&#x5806;&#x4E2D;&#x5B58;&#x50A8;&#x6570;&#x636E;&#xFF0C;&#x800C;&#x4E0D;&#x8FDB;&#x884C;&#x6E05;&#x7406;&#xFF0C;&#x8FD9;&#x5C31;&#x662F;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;

&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#xFF08;&#x6E05;&#x9664;&#x5B64;&#x513F;&#x673A;&#x5236;&#xFF09;
&#x200B; &#x8BED;&#x8A00;&#x5F53;&#x4E2D;&#x4E00;&#x822C;&#x5206;&#x4E24;&#x79CD;&#xFF0C;&#x4E00;&#x79CD;&#x662F;&#x81EA;&#x52A8;&#x6E05;&#x7406;&#xFF0C;&#x4E00;&#x79CD;&#x662F;&#x624B;&#x52A8;&#x6E05;&#x7406;&#xFF08;GC&#xFF09;&#xFF0C;js&#x4E2D;&#x53EA;&#x6709;&#x81EA;&#x52A8;&#x6E05;&#x7406;

&#x200B; &#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#x5C31;&#x662F;&#x5C06;&#x5F15;&#x7528;&#x5BF9;&#x4E2D;&#x7684;&#x5730;&#x5740;&#x7684;&#x5BF9;&#x8C61;&#x8BBE;&#x7F6E;&#x4E3A;<span class="hljs-literal">null</span>&#xFF0C;&#x5E76;&#x4E14;&#x5C06;&#x6240;&#x6709;&#x5F15;&#x7528;&#x8BE5;&#x5730;&#x5740;&#x7684;&#x5BF9;&#x8C61;&#x90FD;&#x8BBE;&#x7F6E;&#x4E3A;<span class="hljs-literal">null</span>&#xFF0C;&#x5E76;&#x4E14;&#x79FB;&#x9664;&#x4E8B;&#x4EF6;&#x4FA6;&#x542C;

&#x200B; &#x4E0D;&#x4F1A;&#x5373;&#x65F6;&#x6E05;&#x9664;,&#x5783;&#x573E;&#x56DE;&#x6536;&#x8F66;&#x4F1A;&#x6839;&#x636E;&#x5185;&#x5B58;&#x7684;&#x60C5;&#x51B5;&#x5728;&#x9002;&#x5F53;&#x7684;&#x65F6;&#x5019;&#x8FDB;&#x884C;&#x6E05;&#x9664;&#x5806;&#x4E2D;&#x7684;&#x5BF9;&#x8C61; &#x5185;&#x5B58;&#x5230;&#x8FBE;&#x4E00;&#x5B9A;&#x7A0B;&#x5EA6;&#x4E86;&#x624D;&#x4F1A;&#x8FDB;&#x884C;&#x56DE;&#x6536;
</code></pre>
                                    <h3
                                        id="62-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4E86;&#x89E3;-es6-&#x7684;-proxy-&#x5417;&#xFF1F;">
                                        <a name="62-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4E86;&#x89E3;-es6-&#x7684;-proxy-&#x5417;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#62-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4E86;&#x89E3;-es6-&#x7684;-proxy-&#x5417;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="62-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4E86;&#x89E3;-es6-&#x7684;-proxy-&#x5417;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#62-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4E86;&#x89E3;-es6-&#x7684;-proxy-&#x5417;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-62"> 62. &#x2605;&#x2605;&#x2605;&#x2605; &#x4E86;&#x89E3; ES6
                                            &#x7684; Proxy &#x5417;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
<span class="hljs-built_in">Proxy</span>&#xFF0C;&#x4EE3;&#x7406;&#xFF0C;&#x662F;ES6&#x65B0;&#x589E;&#x7684;&#x529F;&#x80FD;&#xFF0C;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x4E3A;&#x4EE3;&#x7406;&#x5668;&#xFF08;&#x5373;&#x7531;&#x5B83;&#x4EE3;&#x7406;&#x67D0;&#x4E9B;&#x64CD;&#x4F5C;&#xFF09;&#x3002;
<span class="hljs-built_in">Proxy</span> &#x5BF9;&#x8C61;&#x7528;&#x4E8E;&#x5B9A;&#x4E49;&#x6216;&#x4FEE;&#x6539;&#x67D0;&#x4E9B;&#x64CD;&#x4F5C;&#x7684;&#x81EA;&#x5B9A;&#x4E49;&#x884C;&#x4E3A;&#xFF0C;&#x53EF;&#x4EE5;&#x5728;&#x5916;&#x754C;&#x5BF9;&#x76EE;&#x6807;&#x5BF9;&#x8C61;&#x8FDB;&#x884C;&#x8BBF;&#x95EE;&#x524D;&#xFF0C;&#x5BF9;&#x5916;&#x754C;&#x7684;&#x8BBF;&#x95EE;&#x8FDB;&#x884C;&#x6539;&#x5199;&#x3002;

<span class="hljs-keyword">new</span> <span class="hljs-built_in">Proxy</span>()&#x8868;&#x793A;&#x751F;&#x6210;&#x4E00;&#x4E2A; <span class="hljs-built_in">Proxy</span> &#x5B9E;&#x4F8B;
    -target&#xFF1A;&#x76EE;&#x6807;&#x5BF9;&#x8C61;
    -handler&#xFF1A;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#xFF0C;&#x5176;&#x5C5E;&#x6027;&#x662F;&#x5F53;&#x6267;&#x884C;&#x4E00;&#x4E2A;&#x64CD;&#x4F5C;&#x65F6;&#x5B9A;&#x4E49;&#x4EE3;&#x7406;&#x7684;&#x884C;&#x4E3A;&#x7684;&#x51FD;&#x6570;&#x3002;
&#x6CE8;&#x610F;&#xFF1A;&#x8981;&#x5B9E;&#x73B0;&#x62E6;&#x622A;&#x64CD;&#x4F5C;&#xFF0C;&#x5FC5;&#x987B;&#x662F;&#x5BF9; <span class="hljs-built_in">Proxy</span> &#x5B9E;&#x4F8B;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x9488;&#x5BF9;&#x76EE;&#x6807;&#x5BF9;&#x8C61; target &#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#x3002;
</code></pre>
                                    <h3
                                        id="63-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;">
                                        <a name="63-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#63-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="63-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#63-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-63"> 63. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x9879;&#x76EE;&#x54EA;&#x91CC;&#x662F;&#x7528;&#x5230;&#x4E86;&#x6DF1;&#x62F7;&#x8D1D;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
<span class="hljs-number">1</span>&#xFF0C;&#x5728;&#x62F7;&#x8D1D;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4E2D;&#x5047;&#x5982;&#x53EA;&#x5B8C;&#x6210;&#x4E86;&#x6570;&#x636E;&#x6210;&#x5458;&#x672C;&#x8EAB;&#x7684;&#x8D4B;&#x503C;&#x5219;&#x79F0;&#x4E3A;&#x201C;&#x6D45;&#x62F7;&#x8D1D;&#x201D;&#xFF1B;&#x7F16;&#x8BD1;&#x5668;&#x63D0;&#x4F9B;&#x7684;&#x9ED8;&#x8BA4;&#x62F7;&#x8D1D;&#x6784;&#x9020;&#x51FD;&#x6570;&#x5C31;&#x5DF2;&#x7ECF;&#x53EF;&#x4EE5;&#x5B8C;&#x6210;&#x8FD9;&#x4E2A;&#x4EFB;&#x52A1;&#x3002;
&#x800C;&#x5047;&#x5982;&#x8981;&#x590D;&#x5236;&#x7684;&#x6570;&#x636E;&#x9664;&#x4E86;&#x5C5E;&#x6027;&#x503C;&#x672C;&#x8EAB;&#x4EE5;&#x5916;&#xFF0C;&#x8FD8;&#x8981;&#x590D;&#x5236;&#x9644;&#x52A0;&#x5728;&#x6570;&#x636E;&#x5C5E;&#x6027;&#x503C;&#x4E0A;&#x7684;&#x989D;&#x5916;&#x5185;&#x5BB9;&#xFF0C;&#x90A3;&#x5C31;&#x8981;&#x81EA;&#x5DF1;&#x6765;&#x5199;&#x62F7;&#x8D1D;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4E86;&#xFF0C;&#x6765;&#x5B8C;&#x6210;&#x6240;&#x8C13;&#x7684;&#x201C;&#x6DF1;&#x62F7;&#x8D1D;&#x201D;&#x3002;

&#x4E3E;&#x4E2A;&#x4F8B;&#x5B50;&#xFF1A;

&#x82E5;&#x5728;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4E2D;<span class="hljs-keyword">new</span>&#x4E86;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x7A7A;&#x95F4;&#x5B58;&#x653E;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x4E14;&#x7528;&#x6307;&#x9488;&#x8BB0;&#x5F55;&#x4E86;&#x9996;&#x5730;&#x5740;&#xFF1B;&#x82E5;&#x662F;&#x6D45;&#x62F7;&#x8D1D;&#xFF0C;&#x5219;&#x5728;&#x62F7;&#x8D1D;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4E2D;&#x6307;&#x9488;&#x503C;&#x5C06;&#x590D;&#x5236;&#x7ED9;&#x53E6;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x6210;&#x5458;&#xFF0C;&#x8FD9;&#x6837;&#x5C31;&#x4F1A;&#x6709;&#x4E24;&#x4E2A;&#x6307;&#x9488;&#x6307;&#x5411;&#x540C;&#x4E00;&#x4E2A;&#x7A7A;&#x95F4;&#xFF1B;&#x8FD9;&#x6837;&#x7684;&#x8BDD;&#x5728;&#x6790;&#x6784;&#x51FD;&#x6570;&#x91CC;&#x5C06;&#x4F1A;&#x5BF9;&#x6307;&#x9488;&#x6240;&#x6307;&#x5411;&#x7684;&#x7A7A;&#x95F4;&#x8FDB;&#x884C;&#x91CA;&#x653E;&#xFF0C;&#x7531;&#x4E8E;&#x4E24;&#x4E2A;&#x6307;&#x9488;&#x6307;&#x5411;&#x7684;&#x662F;&#x540C;&#x4E00;&#x4E2A;&#x7A7A;&#x95F4;&#xFF0C;&#x5728;&#x91CA;&#x653E;&#x7B2C;&#x4E00;&#x4E2A;&#x6307;&#x9488;&#x6307;&#x5411;&#x7684;&#x7A7A;&#x95F4;&#x65F6;&#x4E0D;&#x4F1A;&#x51FA;&#x73B0;&#x4EC0;&#x4E48;&#x95EE;&#x9898;&#xFF0C;&#x800C;&#x91CA;&#x653E;&#x7B2C;&#x4E8C;&#x4E2A;&#x6307;&#x9488;&#x6307;&#x5411;&#x7684;&#x7A7A;&#x95F4;&#x65F6;&#x5C31;&#x4F1A;&#x56E0;&#x4E3A;&#x7A7A;&#x95F4;&#x5DF2;&#x7ECF;&#x88AB;&#x89E3;&#x6790;&#x8FC7;&#x800C;&#x5BFC;&#x81F4;&#x89E3;&#x6790;&#x7684;&#x7A7A;&#x95F4;&#x4E0D;&#x5B58;&#x5728;&#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x5C31;&#x4F1A;&#x9020;&#x6210;&#x7A0B;&#x5E8F;&#x65E0;&#x6CD5;&#x7EC8;&#x6B62;&#x3002;

&#x800C;&#x89E3;&#x51B3;&#x4E0A;&#x9762;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x7684;&#x529E;&#x6CD5;&#x5C31;&#x662F;&#x4F7F;&#x7528;&#x201C;&#x6DF1;&#x62F7;&#x8D1D;&#x201D;&#xFF0C;&#x6DF1;&#x62F7;&#x8D1D;&#x662F;&#x5728;&#x62F7;&#x8D1D;&#x6784;&#x9020;&#x51FD;&#x6570;&#x91CC;&#x518D;<span class="hljs-keyword">new</span>&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x7A7A;&#x95F4;&#x3002;&#x5C06;&#x6570;&#x636E;&#x590D;&#x5236;&#x5728;&#x65B0;&#x7A7A;&#x95F4;&#x91CC;&#xFF0C;&#x5E76;&#x5C06;&#x62F7;&#x8D1D;&#x7684;&#x6307;&#x9488;&#x8BB0;&#x5F55;&#x8FD9;&#x4E2A;&#x65B0;&#x7A7A;&#x95F4;&#x7684;&#x9996;&#x5730;&#x5740;&#xFF0C;&#x8FD9;&#x6837;&#x5728;&#x6790;&#x6784;&#x51FD;&#x6570;&#x91CC;&#x5C31;&#x4E0D;&#x4F1A;&#x6709;&#x95EE;&#x9898;&#x4E86;&#x3002;
<span class="hljs-number">2</span>&#xFF0C;&#x5728;&#x67D0;&#x4E9B;&#x5F15;&#x7528;&#x7C7B;&#x578B;&#x503C;&#x4E0D;&#x66F4;&#x65B0;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#x7528;&#x6DF1;&#x62F7;&#x8D1D;
</code></pre>
                                    <h3
                                        id="64-&#x2605;&#x2605;&#x2605;-swiper-&#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css-&#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;">
                                        <a name="64-&#x2605;&#x2605;&#x2605;-swiper-&#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css-&#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#64-&#x2605;&#x2605;&#x2605;-swiper-&#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css-&#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="64-&#x2605;&#x2605;&#x2605;-swiper-&#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css-&#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#64-&#x2605;&#x2605;&#x2605;-swiper-&#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css-&#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-64"> 64. &#x2605;&#x2605;&#x2605; swiper
                                            &#x63D2;&#x4EF6;&#x4ECE;&#x540E;&#x53F0;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;css
                                            &#x4EE3;&#x7801;&#x5565;&#x7684;&#x4E5F;&#x6CA1;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x662F;&#x56FE;&#x7247;&#x4E0D;&#x52A8;&#xFF0C;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x89E3;&#x51B3;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
&#x4E3B;&#x8981;&#x539F;&#x56E0;&#xFF1A;
swiper&#x63D0;&#x524D;&#x521D;&#x59CB;&#x5316;&#x4E86;&#xFF0C;&#x800C;&#x8FD9;&#x4E2A;&#x65F6;&#x5019;&#xFF0C;&#x6570;&#x636E;&#x8FD8;&#x6CA1;&#x6709;&#x5B8C;&#x5168;&#x51FA;&#x6765;&#x3002;
&#x89E3;&#x51B3;&#x65B9;&#x6CD5;
&#x4ECE;swiper &#x5165;&#x624B;&#xFF0C;&#x5728;swiper&#x4E2D;&#x5199; observer:<span class="hljs-literal">true</span>/observeParents:<span class="hljs-literal">true</span>
 <span class="hljs-keyword">let</span> myswiper = <span class="hljs-keyword">new</span> Swiper(<span class="hljs-string">&quot;.swiper-container&quot;</span> , {
     autoplay: <span class="hljs-literal">true</span>,
     loop: <span class="hljs-literal">true</span>,
     <span class="hljs-comment">// observer &#x4FEE;&#x6539;swiper&#x5B50;&#x5143;&#x7D20;&#x65F6;&#x81EA;&#x52A8;&#x521D;&#x59CB;&#x5316;swiper</span>
     observer:<span class="hljs-literal">true</span>,
     <span class="hljs-comment">// observeParents &#x5305;&#x62EC;&#x5F53;&#x524D;&#x7236;&#x5143;&#x7D20;&#x7684;swiper&#x53D1;&#x751F;&#x53D8;&#x66F4;&#x65F6;&#x4E5F;&#x4F1A;&#x521D;&#x59CB;&#x5316;swiper</span>
     observeParents:<span class="hljs-literal">true</span>,
 })
 &#x4ECE; Vue &#x5165;&#x624B;&#xFF0C;vue&#x4E2D;&#x4E13;&#x95E8;&#x63D0;&#x4F9B;&#x4E86;&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;nextTick() &#x7528;&#x4E8E;&#x89E3;&#x51B3;dom&#x7684;&#x5148;&#x540E;&#x6267;&#x884C;&#x95EE;&#x9898;&#x3002;
 mounted(){
     <span class="hljs-keyword">this</span>.$nextTick(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
         <span class="hljs-comment">// ...&#x64CD;&#x4F5C;</span>
         <span class="hljs-keyword">let</span> myswiper = <span class="hljs-keyword">new</span> Swiper(<span class="hljs-string">&quot;.swiper-container&quot;</span> , {
             autoplay: <span class="hljs-literal">true</span>,
             loop: <span class="hljs-literal">true</span>
         })
     })  
 }
</code></pre>
                                    <h3
                                        id="65-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;">
                                        <a name="65-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#65-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="65-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;"
                                            class="plugin-anchor"
                                            href="#65-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-65"> 65. &#x2605;&#x2605;&#x2605;&#x2605; ES6
                                            &#x4E2D;&#xFF0C;&#x6570;&#x7EC4;&#x76D1;&#x6D4B;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#x7684;&#xFF08;&#x4EE3;&#x7406;&#xFF09;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x901A;&#x8FC7;ES6&#x7684;&#x5173;&#x952E;&#x5B57;extends&#x5B9E;&#x73B0;&#x7EE7;&#x627F;&#x5B8C;&#x6210;Array&#x539F;&#x578B;&#x65B9;&#x6CD5;&#x7684;&#x91CD;&#x5199;</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">NewArray</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Array</span> </span>{
  <span class="hljs-keyword">constructor</span>(...args) {
    <span class="hljs-comment">// &#x8C03;&#x7528;&#x7236;&#x7C7B;Array&#x7684;constructor()</span>
    <span class="hljs-keyword">super</span>(...args)
  }
  push (...args) {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;&#x76D1;&#x542C;&#x5230;&#x6570;&#x7EC4;&#x7684;&#x53D8;&#x5316;&#x5566;&#xFF01;&apos;</span>);

    <span class="hljs-comment">// &#x8C03;&#x7528;&#x7236;&#x7C7B;&#x539F;&#x578B;push&#x65B9;&#x6CD5;</span>
    <span class="hljs-keyword">return</span> <span class="hljs-keyword">super</span>.push(...args)
  }
  <span class="hljs-comment">// ...</span>
}

<span class="hljs-keyword">let</span> list3 = [<span class="hljs-number">1</span>, <span class="hljs-number">2</span>];

<span class="hljs-keyword">let</span> arr = <span class="hljs-keyword">new</span> NewArray(...list3);
<span class="hljs-built_in">console</span>.log(arr)
<span class="hljs-comment">// (2) [1, 2]</span>

arr.push(<span class="hljs-number">3</span>);
<span class="hljs-comment">// &#x76D1;&#x542C;&#x5230;&#x6570;&#x7EC4;&#x7684;&#x53D8;&#x5316;&#x5566;&#xFF01;</span>
<span class="hljs-built_in">console</span>.log(arr)
<span class="hljs-comment">// (3) [1, 2, 3]</span>
</code></pre>
                                    <h3 id="66-&#x2605;&#x2605;-jquery-&#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;"><a
                                            name="66-&#x2605;&#x2605;-jquery-&#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#66-&#x2605;&#x2605;-jquery-&#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="66-&#x2605;&#x2605;-jquery-&#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;"
                                            class="plugin-anchor"
                                            href="#66-&#x2605;&#x2605;-jquery-&#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-66"> 66. &#x2605;&#x2605; jQuery
                                            &#x4F18;&#x70B9;&#x548C;&#x7F3A;&#x70B9;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
&#x4F18;&#x70B9;
<span class="hljs-number">1.</span>&#x51FA;&#x8272;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#x517C;&#x5BB9;&#x6027;
<span class="hljs-number">2</span>&#x3001;&#x51FA;&#x8272;&#x7684;DOM&#x64CD;&#x4F5C;&#x7684;&#x5C01;&#x88C5;&#xFF0C;&#x4F7F;&#x4ED6;&#x5177;&#x5907;&#x5F3A;&#x5927;&#x7684;&#x9009;&#x62E9;&#x5668;&#xFF0C;&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x5FEB;&#x901F;&#x7684;DOM&#x5143;&#x7D20;&#x64CD;&#x4F5C;
<span class="hljs-number">3</span>&#x3001;&#x53EF;&#x9760;&#x7684;&#x4E8B;&#x4EF6;&#x5904;&#x7406;&#x673A;&#x5236;&#x3001;jq&#x5728;&#x5904;&#x7406;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x7684;&#x65F6;&#x5019;&#x662F;&#x76F8;&#x5F53;&#x7684;&#x53EF;&#x9760;
<span class="hljs-number">4</span>&#x3001;&#x5B8C;&#x5584;&#x7684;ajax&#xFF08;&#x5BF9;ajax&#x7684;&#x5C01;&#x88C5;&#x975E;&#x5E38;&#x597D;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x8003;&#x8651;&#x590D;&#x6742;&#x7684;&#x6D4F;&#x89C8;&#x5668;&#x7684;&#x517C;&#x5BB9;&#x548C;XMLhttprequest&#x5BF9;&#x8C61;&#x7684;&#x521B;&#x5EFA;&#x548C;&#x4F7F;&#x7528;&#xFF09;
<span class="hljs-number">5</span>&#x3001;&#x652F;&#x6301;&#x94FE;&#x5F0F;&#x64CD;&#x4F5C;&#xFF08;&#x4EC0;&#x4E48;&#x662F;&#x94FE;&#x5F0F;&#x64CD;&#x4F5C;&#xFF1F;&#x901A;&#x8FC7;&#x2018;.&#x2019;&#x6765;&#x64CD;&#x4F5C;&#xFF09;&#x548C;&#x9690;&#x58EB;&#x8FED;&#x4EE3;
<span class="hljs-number">6</span>&#x3001;&#x51CF;&#x5C11;&#x670D;&#x52A1;&#x5668;&#x7684;&#x538B;&#x529B;&#x548C;&#x5E26;&#x5BBD;&#x5E76;&#x4E14;&#x52A0;&#x5FEB;&#x4E86;&#x52A0;&#x8F7D;&#x901F;&#x5EA6;&#xFF08;&#x4E3A;&#x4EC0;&#x4E48;&#x8FD9;&#x4E48;&#x8BF4;&#xFF1F;&#x539F;&#x56E0;&#x5C31;&#x662F;&#xFF1A;&#x5F53;&#x4F60;&#x6253;&#x5F00;&#x7F51;&#x9875;&#x4E4B;&#x524D;&#x6253;&#x5F00;&#x4E86;&#x5176;&#x4ED6;&#x7684;&#x7F51;&#x9875;&#xFF0C;&#x5E76;&#x4E14;&#x8BE5;&#x7F51;&#x9875;&#x4E5F;&#x7528;&#x4E86;cdn&#x7684;&#x65B9;&#x5F0F;&#x6765;
&#x52A0;&#x8F7D;&#x76F8;&#x540C;&#x7248;&#x672C;&#x7684;jq&#x6587;&#x4EF6;&#xFF0C;&#x90A3;&#x4E48;&#xFF0C;&#x6D4F;&#x89C8;&#x5668;&#x5C31;&#x4E0D;&#x4F1A;&#x52A0;&#x8F7D;&#x7B2C;&#x4E8C;&#x6B21;&#xFF0C;&#x4E3A;&#x5565;&#x820D;&#x8FD1;&#x6C42;&#x8FDC;&#x5462;&#xFF0C;&#x548C;&#x751F;&#x6D3B;&#x4E2D;&#x7684;&#x9053;&#x7406;&#x4E00;&#x6837;&#x4E00;&#x6837;&#x7684;&#xFF01;&#xFF09;
<span class="hljs-number">7</span>&#x3001;&#x652F;&#x6301;&#x4E30;&#x5BCC;&#x7684;&#x63D2;&#x4EF6;&#xFF0C;&#x5F53;&#x7136;&#x4F60;&#x4E5F;&#x53EF;&#x4EE5;&#x81EA;&#x5B9A;&#x4E49;&#x63D2;&#x4EF6;&#xFF0C;&#x518D;&#x52A0;&#x4E0A;jq&#x7684;&#x6587;&#x6863;&#x4E5F;&#x5F88;&#x4E30;&#x5BCC;&#xFF0C;&#x5BF9;&#x4E8E;&#x7A0B;&#x5E8F;&#x5458;&#x6765;&#x8BF4;&#xFF0C;&#x662F;&#x4E00;&#x4EF6;&#x975E;&#x5E38;&#x7F8E;&#x597D;&#x7684;&#x4E8B;&#x60C5;
&#x7F3A;&#x70B9;
<span class="hljs-number">1.</span>&#x4E0D;&#x80FD;&#x5411;&#x540E;&#x517C;&#x5BB9;&#x3002;
&#x6BCF;&#x4E00;&#x4E2A;&#x65B0;&#x7248;&#x672C;&#x4E0D;&#x80FD;&#x517C;&#x5BB9;&#x65E9;&#x671F;&#x7684;&#x7248;&#x672C;&#x3002;&#x4E3E;&#x4F8B;&#x6765;&#x8BF4;&#xFF0C;&#x6709;&#x4E9B;&#x65B0;&#x7248;&#x672C;&#x4E0D;&#x518D;&#x652F;&#x6301;&#x67D0;&#x4E9B;selector&#xFF0C;&#x65B0;&#x7248;jQuery&#x5374;&#x6CA1;&#x6709;&#x4FDD;&#x7559;&#x5BF9;&#x5B83;&#x4EEC;&#x7684;&#x652F;&#x6301;&#xFF0C;&#x800C;&#x53EA;&#x662F;&#x7B80;&#x5355;&#x7684;&#x5C06;&#x5176;&#x79FB;&#x9664;&#x3002;&#x8FD9;&#x53EF;&#x80FD;&#x4F1A;&#x5F71;&#x54CD;&#x5230;&#x5F00;&#x53D1;&#x8005;&#x5DF2;&#x7ECF;&#x7F16;&#x5199;&#x597D;&#x7684;&#x4EE3;&#x7801;&#x6216;&#x63D2;&#x4EF6;&#x3002;
<span class="hljs-number">2.</span>&#x63D2;&#x4EF6;&#x517C;&#x5BB9;&#x6027;&#x3002;
&#x4E0E;&#x4E0A;&#x4E00;&#x70B9;&#x7C7B;&#x4F3C;&#xFF0C;&#x5F53;&#x65B0;&#x7248;jQuery&#x63A8;&#x51FA;&#x540E;&#xFF0C;&#x5982;&#x679C;&#x5F00;&#x53D1;&#x8005;&#x60F3;&#x5347;&#x7EA7;&#x7684;&#x8BDD;&#xFF0C;&#x8981;&#x770B;&#x63D2;&#x4EF6;&#x4F5C;&#x8005;&#x662F;&#x5426;&#x652F;&#x6301;&#x3002;&#x901A;&#x5E38;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x5728;&#x6700;&#x65B0;&#x7248;jQuery&#x7248;&#x672C;&#x4E0B;&#xFF0C;&#x73B0;&#x6709;&#x63D2;&#x4EF6;&#x53EF;&#x80FD;&#x65E0;&#x6CD5;&#x6B63;&#x5E38;&#x4F7F;&#x7528;&#x3002;&#x5F00;&#x53D1;&#x8005;&#x4F7F;&#x7528;&#x7684;&#x63D2;&#x4EF6;&#x8D8A;&#x591A;&#xFF0C;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x53D1;&#x751F;&#x7684;&#x51E0;&#x7387;&#x4E5F;&#x8D8A;&#x9AD8;&#x3002;&#x6211;&#x6709;&#x4E00;&#x6B21;&#x4E3A;&#x4E86;&#x5347;&#x7EA7;&#x5230;jQuery <span class="hljs-number">1.3</span>&#xFF0C;&#x4E0D;&#x5F97;&#x4E0D;&#x81EA;&#x5DF1;&#x52A8;&#x624B;&#x4FEE;&#x6539;&#x4E86;&#x4E00;&#x4E2A;&#x7B2C;&#x4E09;&#x65B9;&#x63D2;&#x4EF6;&#x3002;
<span class="hljs-number">3.</span>&#x591A;&#x4E2A;&#x63D2;&#x4EF6;&#x51B2;&#x7A81;&#x3002;
&#x5728;&#x540C;&#x4E00;&#x9875;&#x9762;&#x4E0A;&#x4F7F;&#x7528;&#x591A;&#x4E2A;&#x63D2;&#x4EF6;&#x65F6;&#xFF0C;&#x5F88;&#x5BB9;&#x6613;&#x78B0;&#x5230;&#x51B2;&#x7A81;&#x73B0;&#x8C61;&#xFF0C;&#x5C24;&#x5176;&#x662F;&#x8FD9;&#x4E9B;&#x63D2;&#x4EF6;&#x4F9D;&#x8D56;&#x76F8;&#x540C;&#x4E8B;&#x4EF6;&#x6216;selector&#x65F6;&#x6700;&#x4E3A;&#x660E;&#x663E;&#x3002;&#x8FD9;&#x867D;&#x7136;&#x4E0D;&#x662F;jQuery&#x81EA;&#x8EAB;&#x7684;&#x95EE;&#x9898;&#xFF0C;&#x4F46;&#x5374;&#x53C8;&#x786E;&#x5B9E;&#x662F;&#x4E00;&#x4E2A;&#x96BE;&#x4E8E;&#x8C03;&#x8BD5;&#x548C;&#x89E3;&#x51B3;&#x7684;&#x95EE;&#x9898;&#x3002;
<span class="hljs-number">4.</span>jQuery&#x7684;&#x7A33;&#x5B9A;&#x6027;&#x3002;
jQuery&#x6CA1;&#x6709;&#x8BA9;&#x6D4F;&#x89C8;&#x5668;&#x5D29;&#x6E83;&#xFF0C;&#x8FD9;&#x91CC;&#x6307;&#x7684;&#x662F;&#x5176;&#x7248;&#x672C;&#x53D1;&#x5E03;&#x7B56;&#x7565;&#x3002;jQuery <span class="hljs-number">1.3</span>&#x7248;&#x53D1;&#x5E03;&#x540E;&#x4EC5;&#x8FC7;&#x6570;&#x5929;&#xFF0C;&#x5C31;&#x53D1;&#x5E03;&#x4E86;&#x4E00;&#x4E2A;&#x6F0F;&#x6D1E;&#x4FEE;&#x6B63;&#x7248;<span class="hljs-number">1.3</span><span class="hljs-number">.1</span>&#x3002;&#x4ED6;&#x4EEC;&#x8FD8;&#x79FB;&#x9664;&#x4E86;&#x5BF9;&#x67D0;&#x4E9B;&#x529F;&#x80FD;&#x7684;&#x652F;&#x6301;&#xFF0C;&#x53EF;&#x80FD;&#x4F1A;&#x5F71;&#x54CD;&#x8BB8;&#x591A;&#x4EE3;&#x7801;&#x7684;&#x6B63;&#x5E38;&#x8FD0;&#x884C;&#x3002;&#x6211;&#x5E0C;&#x671B;&#x7C7B;&#x4F3C;&#x4FEE;&#x6539;&#x4E0D;&#x8981;&#x518D;&#x51FA;&#x73B0;&#x3002;
<span class="hljs-number">5.</span>&#x5BF9;&#x52A8;&#x753B;&#x548C;&#x7279;&#x6548;&#x7684;&#x652F;&#x6301;&#x5DEE;&#x3002;
&#x5728;&#x5927;&#x578B;&#x6846;&#x67B6;&#x4E2D;&#xFF0C;jQuery&#x6838;&#x5FC3;&#x4EE3;&#x7801;&#x5E93;&#x5BF9;&#x52A8;&#x753B;&#x548C;&#x7279;&#x6548;&#x7684;&#x652F;&#x6301;&#x76F8;&#x5BF9;&#x8F83;&#x5DEE;&#x3002;&#x4F46;&#x662F;&#x5B9E;&#x9645;&#x4E0A;&#x8FD9;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x95EE;&#x9898;&#x3002;&#x76EE;&#x524D;&#x5728;&#x8FD9;&#x65B9;&#x9762;&#x6709;&#x4E00;&#x4E2A;&#x5355;&#x72EC;&#x7684;jQuery UI&#x9879;&#x76EE;&#x548C;&#x4F17;&#x591A;&#x63D2;&#x4EF6;&#x6765;&#x5F25;&#x8865;&#x6B64;&#x70B9;&#x3002;
</code></pre>
                                    <h3
                                        id="67-&#x2605;&#x2605;&#x2605;-es6-class-&#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF;-function-&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="67-&#x2605;&#x2605;&#x2605;-es6-class-&#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF;-function-&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#67-&#x2605;&#x2605;&#x2605;-es6-class-&#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF;-function-&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="67-&#x2605;&#x2605;&#x2605;-es6-class-&#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF;-function-&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#67-&#x2605;&#x2605;&#x2605;-es6-class-&#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF;-function-&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-67"> 67. &#x2605;&#x2605;&#x2605; ES6 class
                                            &#x5173;&#x952E;&#x5B57;&#x539F;&#x7406;&#x8DDF; function
                                            &#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> &#x53EF;&#x4EE5;&#x7528;<span class="hljs-title">call</span> <span class="hljs-title">apply</span> <span class="hljs-title">bind</span> &#x7684;&#x65B9;&#x5F0F; &#x6765;&#x6539;&#x53D8;&#x4ED6;&#x7684;&#x6267;&#x884C;&#x4E0A;&#x4E0B;&#x6587;   
&#x4F46;&#x662F;<span class="hljs-title">class</span> &#x5374;&#x4E0D;&#x53EF;&#x4EE5;   <span class="hljs-title">class</span> &#x867D;&#x7136;&#x672C;&#x8D28;&#x4E0A;&#x4E5F;&#x662F;&#x4E00;&#x4E2A;&#x51FD;&#x6570;  &#x4F46;&#x662F; &#x5176;&#x5185;&#xFF08;<span class="hljs-title">babel</span>&#xFF09;&#x90E8;&#x505A;&#x4E86;&#x4E00;&#x5C42;&#x4EE3;&#x7406; &#x6765;&#x7981;&#x6B62;&#x4E86;&#x8FD9;&#x79CD;&#x884C;&#x4E3A;

&#x5173;&#x4E8E;&#x6784;&#x9020;&#x5668;<span class="hljs-title">constructor</span>
    &#x5728;<span class="hljs-title">function</span>&#x5B9A;&#x4E49;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4E2D;&#xFF0C;&#x5176;<span class="hljs-title">prototype</span>.<span class="hljs-title">constructor</span>&#x5C5E;&#x6027;&#x6307;&#x5411;&#x6784;&#x9020;&#x5668;&#x81EA;&#x8EAB;
    &#x5728;<span class="hljs-title">class</span>&#x5B9A;&#x4E49;&#x7684;&#x7C7B;&#x4E2D;&#xFF0C;<span class="hljs-title">constructor</span>&#x5176;&#x5B9E;&#x4E5F;&#x76F8;&#x5F53;&#x4E8E;&#x5B9A;&#x4E49;&#x5728;<span class="hljs-title">prototype</span>&#x5C5E;&#x6027;&#x4E0A;

&#x91CD;&#x590D;&#x5B9A;&#x4E49;
    <span class="hljs-title">function</span>&#x4F1A;&#x8986;&#x76D6;&#x4E4B;&#x524D;&#x5B9A;&#x4E49;&#x7684;&#x65B9;&#x6CD5;
    <span class="hljs-title">class</span>&#x4F1A;&#x62A5;&#x9519;

&#x539F;&#x578B;&#x6216;&#x8005;&#x7C7B;&#x4E2D;&#x65B9;&#x6CD5;&#x7684;&#x679A;&#x4E3E;
    <span class="hljs-title">class</span>&#x4E2D;&#x5B9A;&#x4E49;&#x7684;&#x65B9;&#x6CD5;&#x4E0D;&#x53EF;&#x7528;<span class="hljs-title">Object</span>.<span class="hljs-title">keys</span>(<span class="hljs-params">Point.prototype</span>)&#x679A;&#x4E3E;&#x5230;
    <span class="hljs-title">function</span>&#x6784;&#x9020;&#x5668;&#x539F;&#x578B;&#x65B9;&#x6CD5;&#x53EF;&#x88AB;<span class="hljs-title">Object</span>.<span class="hljs-title">keys</span>(<span class="hljs-params">Point.prototype</span>)&#x679A;&#x4E3E;&#x5230;&#xFF0C;&#x9664;&#x8FC7;<span class="hljs-title">constructor</span>
    &#x6240;&#x6709;&#x539F;&#x578B;&#x65B9;&#x6CD5;&#x5C5E;&#x6027;&#x90FD;&#x53EF;&#x7528;<span class="hljs-title">Object</span>.<span class="hljs-title">getOwnPropertyNames</span>(<span class="hljs-params">Point.prototype</span>)&#x8BBF;&#x95EE;&#x5230;
</span></code></pre>
                                    <h3
                                        id="68-&#x2605;&#x2605;&#x2605;-iframe-&#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;">
                                        <a name="68-&#x2605;&#x2605;&#x2605;-iframe-&#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#68-&#x2605;&#x2605;&#x2605;-iframe-&#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="68-&#x2605;&#x2605;&#x2605;-iframe-&#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#68-&#x2605;&#x2605;&#x2605;-iframe-&#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-68"> 68. &#x2605;&#x2605;&#x2605; iframe
                                            &#x8DE8;&#x57DF;&#x95EE;&#x9898;&#xFF0C;&#x9875;&#x9762;&#x4E4B;&#x95F4;&#x600E;&#x4E48;&#x4F20;&#x503C;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
&#x4E00;&#x822C;&#x6709;&#x4E24;&#x4E2A;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF0C;&#x4E00;&#x4E2A;&#x662F;&#x5EFA;&#x7ACB;&#x4E00;&#x4E2A;&#x4EE3;&#x7406;&#x9875;&#x9762;&#xFF0C;&#x901A;&#x8FC7;&#x4EE3;&#x7406;&#x9875;&#x9762;&#x4F20;&#x503C;&#xFF0C;

&#x53E6;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#x662F;&#x901A;&#x8FC7;H5&#x7684;postMessage&#x65B9;&#x6CD5;&#x4F20;&#x503C;&#xFF0C;&#x4ECA;&#x5929;&#x7528;&#x7684;&#x662F;&#x7B2C;&#x4E8C;&#x79CD;&#x3002;

&#x9996;&#x5148;&#xFF0C;&#x5728;&#x7236;&#x9875;&#x9762;A&#x4E2D;&#x5EFA;&#x7ACB;&#x4E00;&#x4E2A;iframe&#xFF0C;&#x5176;&#x4E2D;src&#x8981;&#x5199;&#x597D;&#x5B50;&#x9875;&#x9762;B&#x7684;&#x5730;&#x5740;&#xFF0C;&#x7136;&#x540E;&#x5728;A&#x9875;&#x9762;&#x4E2D;&#x5199;&#x5982;&#x4E0B;&#x65B9;&#x6CD5;&#xFF1A;

        <span class="hljs-keyword">var</span> iframe = <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">&quot;onemap&quot;</span>);
        <span class="hljs-keyword">var</span> msg = {loginName:<span class="hljs-string">&apos;arcgis&apos;</span>,loginPassword:<span class="hljs-string">&apos;Esri1234&apos;</span>};
        <span class="hljs-keyword">var</span> childDomain = <span class="hljs-string">&quot;https://geoplat.training.com&quot;</span>;

        iframe.contentWindow.postMessage(msg,childDomain);

&#x8BB0;&#x4F4F;&#xFF0C;childDomain&#x4E0E;A&#x7684;iframe&#x7684;src&#x5730;&#x5740;&#x4E0D;&#x4E00;&#x6837;&#xFF0C;childDomain&#x662F;&#x57DF;&#xFF0C;&#x800C;src&#x662F;&#x57DF;&#x4E2D;&#x7684;&#x4E00;&#x4E2A;&#x9875;&#x9762;

msg&#x662F;&#x4F20;&#x8F93;&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x53EF;&#x4EE5;&#x662F;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x662F;&#x5BF9;&#x8C61;&#x3002;

&#x4E0A;&#x9762;&#x7684;&#x65B9;&#x6CD5;&#x4E00;&#x5B9A;&#x8981;&#x5199;&#x5728;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x4E2D;&#xFF0C;&#x5E76;&#x901A;&#x8FC7;&#x70B9;&#x51FB;&#x4E8B;&#x4EF6;&#x8C03;&#x7528;&#xFF0C;&#x5982;&#x679C;&#x5E0C;&#x671B;iframe&#x5F00;&#x59CB;&#x4E3A;&#x7A7A;&#xFF0C;&#x70B9;&#x51FB;&#x540E;&#x5728;&#x8BBE;&#x7F6E;src&#xFF0C;

&#x53EF;&#x4EE5;&#x5728;&#x8BBE;&#x7F6E;src&#x4E4B;&#x540E;&#xFF0C;&#x901A;&#x8FC7;setTimeout&#x8BBE;&#x7F6E;&#x4E00;&#x5B9A;&#x65F6;&#x95F4;&#x540E;&#x5728;&#x4F20;&#x8F93;&#x4FE1;&#x606F;&#x3002;

&#x5728;&#x5B50;&#x9875;&#x9762;B&#x4E2D;&#xFF0C;&#x901A;&#x8FC7;&#x5BF9;<span class="hljs-built_in">window</span>&#x6DFB;&#x52A0;&#x4E8B;&#x4EF6;&#x83B7;&#x53D6;&#x4F20;&#x8F93;&#x8FC7;&#x6765;&#x7684;&#x4FE1;&#x606F;&#xFF1A;

            <span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">&quot;message&quot;</span>,<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">obj</span>)</span>{

                <span class="hljs-keyword">var</span> name = obj.data.loginName;
                <span class="hljs-keyword">var</span> password = obj.data.loginPassword;
                login.iframeChildLogin(name,password);
            },<span class="hljs-literal">false</span>);
&#x8FD9;&#x6837;&#x5C31;&#x5B8C;&#x6210;&#x4E86;&#x4ECE;&#x4E0D;&#x540C;&#x57DF;&#x7684;&#x7236;&#x9875;&#x9762;&#x5411;&#x5B50;&#x9875;&#x9762;&#x4F20;&#x503C;&#x7684;&#x8FC7;&#x7A0B;
</code></pre>
                                    <h3
                                        id="69-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-commonjs&#x3001;amd-&#x548C;-cmd">
                                        <a name="69-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-commonjs&#x3001;amd-&#x548C;-cmd"
                                            class="anchor-navigation-ex-anchor"
                                            href="#69-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-commonjs&#x3001;amd-&#x548C;-cmd"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="69-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-commonjs&#x3001;amd-&#x548C;-cmd"
                                            class="plugin-anchor"
                                            href="#69-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;-commonjs&#x3001;amd-&#x548C;-cmd"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-69"> 69. &#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0; commonJS&#x3001;AMD
                                            &#x548C; CMD</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// &#x7B54;&#x6848;&#xFF1A;</span>
CommonJS&#x5BFC;&#x51FA;&#x6A21;&#x5757;&#x7684;&#x65B9;&#x6CD5;&#x662F;exports&#xFF0C;&#x5BFC;&#x5165;&#x6A21;&#x5757;&#x7684;&#x662F;<span class="hljs-built_in">require</span>&#xFF0C;&#x5177;&#x4F53;&#x89C4;&#x8303;&#x5982;&#x4E0B;

<span class="hljs-number">1</span>&#xFF09;&#x5982;&#x679C;&#x4E00;&#x4E2A;JS&#x6587;&#x4EF6;&#x4E2D;&#x5B58;&#x5728;exports&#x6216;<span class="hljs-built_in">require</span>&#xFF0C;&#x8BE5;JS&#x6587;&#x4EF6;&#x662F;&#x4E00;&#x4E2A;&#x6A21;&#x5757;

<span class="hljs-number">2</span>&#xFF09;&#x6A21;&#x5757;&#x5185;&#x7684;&#x6240;&#x6709;&#x4EE3;&#x7801;&#x5747;&#x4E3A;&#x9690;&#x85CF;&#x4EE3;&#x7801;&#xFF0C;&#x5305;&#x62EC;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#x3001;&#x5168;&#x5C40;&#x51FD;&#x6570;&#xFF0C;&#x8FD9;&#x4E9B;&#x5168;&#x5C40;&#x7684;&#x5185;&#x5BB9;&#x5747;&#x4E0D;&#x5E94;&#x8BE5;&#x5BF9;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#x9020;&#x6210;&#x4EFB;&#x4F55;&#x6C61;&#x67D3;

<span class="hljs-number">3</span>&#xFF09;&#x5982;&#x679C;&#x4E00;&#x4E2A;&#x6A21;&#x5757;&#x9700;&#x8981;&#x66B4;&#x9732;&#x4E00;&#x4E9B;API&#x63D0;&#x4F9B;&#x7ED9;&#x5916;&#x90E8;&#x4F7F;&#x7528;&#xFF0C;&#x9700;&#x8981;&#x901A;&#x8FC7;exports&#x5BFC;&#x51FA;&#xFF0C;exports&#x662F;&#x4E00;&#x4E2A;&#x7A7A;&#x7684;&#x5BF9;&#x8C61;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x4E3A;&#x8BE5;&#x5BF9;&#x8C61;&#x6DFB;&#x52A0;&#x4EFB;&#x4F55;&#x9700;&#x8981;&#x5BFC;&#x51FA;&#x7684;&#x5185;&#x5BB9;

<span class="hljs-number">4</span>&#xFF09;&#x5982;&#x679C;&#x4E00;&#x4E2A;&#x6A21;&#x5757;&#x9700;&#x8981;&#x5BFC;&#x5165;&#x5176;&#x4ED6;&#x6A21;&#x5757;&#xFF0C;&#x901A;&#x8FC7;<span class="hljs-built_in">require</span>&#x5B9E;&#x73B0;&#xFF0C;<span class="hljs-built_in">require</span>&#x662F;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x4F20;&#x5165;&#x6A21;&#x5757;&#x7684;&#x8DEF;&#x5F84;&#x5373;&#x53EF;&#x8FD4;&#x56DE;&#x8BE5;&#x6A21;&#x5757;&#x5BFC;&#x51FA;&#x7684;&#x6574;&#x4E2A;&#x5185;&#x5BB9;

&#x3010;&#x6CE8;&#x3011;CommonJS&#x53EA;&#x662F;&#x4E00;&#x4E2A;&#x89C4;&#x8303;&#xFF0C;&#x76F8;&#x5F53;&#x4E8E;&#x544A;&#x8BC9;&#x4F60;&#x6309;&#x4EC0;&#x4E48;&#x6807;&#x51C6;&#x5236;&#x9020;&#x6C7D;&#x8F66;&#xFF0C;&#x4F46;&#x662F;&#x5177;&#x4F53;&#x600E;&#x4E48;&#x5236;&#x9020;&#x8FD8;&#x662F;&#x5F97;&#x770B;&#x751F;&#x4EA7;&#x5546;&#x3002;&#x56E0;&#x6B64;&#xFF0C;&#x6709;&#x4E86;&#x89C4;&#x8303;&#x4EE5;&#x540E;&#xFF0C;nodejs&#x5C31;&#x53BB;&#x5B9E;&#x73B0;&#x6A21;&#x5757;&#x5316;&#x4E86;

AMD
AMD &#x662F; RequireJS &#x5728;&#x63A8;&#x5E7F;&#x8FC7;&#x7A0B;&#x4E2D;&#x5BF9;&#x6A21;&#x5757;&#x5B9A;&#x4E49;&#x7684;&#x89C4;&#x8303;&#x5316;&#x4EA7;&#x51FA;&#x3002;
AMD &#x63A8;&#x5D07;&#x4F9D;&#x8D56;&#x524D;&#x7F6E;&#x3002;

CMD
CMD &#x662F; SeaJS &#x5728;&#x63A8;&#x5E7F;&#x8FC7;&#x7A0B;&#x4E2D;&#x5BF9;&#x6A21;&#x5757;&#x5B9A;&#x4E49;&#x7684;&#x89C4;&#x8303;&#x5316;&#x4EA7;&#x51FA;&#x3002;
CMD &#x63A8;&#x5D07;&#x4F9D;&#x8D56;&#x5C31;&#x8FD1;
</code></pre>
                                    <h3
                                        id="70-&#x2605;&#x2605;&#x2605;-requirejs-&#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;">
                                        <a name="70-&#x2605;&#x2605;&#x2605;-requirejs-&#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#70-&#x2605;&#x2605;&#x2605;-requirejs-&#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="70-&#x2605;&#x2605;&#x2605;-requirejs-&#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;"
                                            class="plugin-anchor"
                                            href="#70-&#x2605;&#x2605;&#x2605;-requirejs-&#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-70"> 70. &#x2605;&#x2605;&#x2605; require.js
                                            &#x6E90;&#x7801;&#x770B;&#x8FC7;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x505A;&#x5230;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">/**
  * Creates the node for the load command. Only used in browser envs.
  */</span>
req.createNode = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">config, moduleName, url</span>) </span>{
    <span class="hljs-keyword">var</span> node = config.xhtml ?
        <span class="hljs-built_in">document</span>.createElementNS(<span class="hljs-string">&apos;http://www.w3.org/1999/xhtml&apos;</span>, <span class="hljs-string">&apos;html:script&apos;</span>) :
    <span class="hljs-built_in">document</span>.createElement(<span class="hljs-string">&apos;script&apos;</span>);
    node.type = config.scriptType || <span class="hljs-string">&apos;text/javascript&apos;</span>;
    node.charset = <span class="hljs-string">&apos;utf-8&apos;</span>;
    node.async = <span class="hljs-literal">true</span>;
    <span class="hljs-keyword">return</span> node;
};

&#x3000;&#x3000;requirejs &#x5BFC;&#x5165;&#x6A21;&#x5757;&#x7684;&#x65B9;&#x5F0F;&#x5B9E;&#x9645;&#x5C31;&#x662F;&#x521B;&#x5EFA;&#x811A;&#x672C;&#x6807;&#x7B7E;&#xFF0C;&#x4E00;&#x5207;&#x7684;&#x6A21;&#x5757;&#x90FD;&#x9700;&#x8981;&#x7ECF;&#x8FC7;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x521B;&#x5EFA;&#x3002;requirejs &#x4F7F;&#x7528; onload &#x4E8B;&#x4EF6;&#x6765;&#x5904;&#x7406;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#xFF1A;
</code></pre>
                                    <h3
                                        id="71-&#x2605;&#x2605;-jquery&#xFF0C;-&#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;-html-&#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;-&#x4F20;-function-&#x5462;">
                                        <a name="71-&#x2605;&#x2605;-jquery&#xFF0C;-&#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;-html-&#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;-&#x4F20;-function-&#x5462;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#71-&#x2605;&#x2605;-jquery&#xFF0C;-&#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;-html-&#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;-&#x4F20;-function-&#x5462;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="71-&#x2605;&#x2605;-jquery&#xFF0C;-&#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;-html-&#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;-&#x4F20;-function-&#x5462;"
                                            class="plugin-anchor"
                                            href="#71-&#x2605;&#x2605;-jquery&#xFF0C;-&#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;-html-&#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;-&#x4F20;-function-&#x5462;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-71"> 71. &#x2605;&#x2605; jQuery&#xFF0C;$()
                                            &#x80FD;&#x4F20;&#x4EC0;&#x4E48;&#x53C2;&#x6570;? html
                                            &#x4EE3;&#x7801;&#x600E;&#x4E48;&#x89E3;&#x6790;? &#x4F20; function
                                            &#x5462;?</p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x8FD9;&#x4E2A;&#x51FD;&#x6570;&#x63A5;&#x6536;&#x4E00;&#x4E2A;&#x5305;&#x542B; CSS &#x9009;&#x62E9;&#x5668;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x7136;&#x540E;&#x7528;&#x8FD9;&#x4E2A;&#x5B57;&#x7B26;&#x4E32;&#x53BB;&#x5339;&#x914D;&#x4E00;&#x7EC4;&#x5143;&#x7D20;&#x3002;
jQuery &#x7684;&#x6838;&#x5FC3;&#x529F;&#x80FD;&#x90FD;&#x662F;&#x901A;&#x8FC7;&#x8FD9;&#x4E2A;&#x51FD;&#x6570;&#x5B9E;&#x73B0;&#x7684;&#x3002; 
jQuery&#x4E2D;&#x7684;&#x4E00;&#x5207;&#x90FD;&#x57FA;&#x4E8E;&#x8FD9;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x6216;&#x8005;&#x8BF4;&#x90FD;&#x662F;&#x5728;&#x4EE5;&#x67D0;&#x79CD;&#x65B9;&#x5F0F;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x51FD;&#x6570;&#x3002;&#x8FD9;&#x4E2A;&#x51FD;&#x6570;&#x6700;&#x57FA;&#x672C;&#x7684;&#x7528;&#x6CD5;&#x5C31;&#x662F;&#x5411;&#x5B83;&#x4F20;&#x9012;&#x4E00;&#x4E2A;&#x8868;&#x8FBE;&#x5F0F;&#xFF08;&#x901A;&#x5E38;&#x7531; CSS &#x9009;&#x62E9;&#x5668;&#x7EC4;&#x6210;&#xFF09;&#xFF0C;&#x7136;&#x540E;&#x6839;&#x636E;&#x8FD9;&#x4E2A;&#x8868;&#x8FBE;&#x5F0F;&#x6765;&#x67E5;&#x627E;&#x6240;&#x6709;&#x5339;&#x914D;&#x7684;&#x5143;&#x7D20;&#x3002;
&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;, &#x5982;&#x679C;&#x6CA1;&#x6709;&#x6307;&#x5B9A;context&#x53C2;&#x6570;&#xFF0C;$()&#x5C06;&#x5728;&#x5F53;&#x524D;&#x7684; HTML <span class="hljs-built_in">document</span>&#x4E2D;&#x67E5;&#x627E; DOM &#x5143;&#x7D20;&#xFF1B;&#x5982;&#x679C;&#x6307;&#x5B9A;&#x4E86; context &#x53C2;&#x6570;&#xFF0C;&#x5982;&#x4E00;&#x4E2A; DOM &#x5143;&#x7D20;&#x96C6;&#x6216; jQuery &#x5BF9;&#x8C61;&#xFF0C;&#x90A3;&#x5C31;&#x4F1A;&#x5728;&#x8FD9;&#x4E2A; context &#x4E2D;&#x67E5;&#x627E;&#x3002;&#x5728;jQuery <span class="hljs-number">1.3</span><span class="hljs-number">.2</span>&#x4EE5;&#x540E;&#xFF0C;&#x5176;&#x8FD4;&#x56DE;&#x7684;&#x5143;&#x7D20;&#x987A;&#x5E8F;&#x7B49;&#x540C;&#x4E8E;&#x5728;context&#x4E2D;&#x51FA;&#x73B0;&#x7684;&#x5148;&#x540E;&#x987A;&#x5E8F;&#x3002;
</code></pre>
                                    <h3
                                        id="72-&#x2605;&#x2605;-amd-&#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;">
                                        <a name="72-&#x2605;&#x2605;-amd-&#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#72-&#x2605;&#x2605;-amd-&#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="72-&#x2605;&#x2605;-amd-&#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;"
                                            class="plugin-anchor"
                                            href="#72-&#x2605;&#x2605;-amd-&#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-72"> 72. &#x2605;&#x2605; AMD
                                            &#x600E;&#x4E48;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x7684;?</p>
                                    </h3>
                                    <pre><code class="lang-JS">AMD &#x5373;Asynchronous Module Definition&#xFF0C;&#x4E2D;&#x6587;&#x540D;&#x662F;&#x5F02;&#x6B65;&#x6A21;&#x5757;&#x5B9A;&#x4E49;&#x7684;&#x610F;&#x601D;&#x3002;&#x5B83;&#x662F;&#x4E00;&#x4E2A;&#x5728;&#x6D4F;&#x89C8;&#x5668;&#x7AEF;&#x6A21;&#x5757;&#x5316;&#x5F00;&#x53D1;&#x7684;&#x89C4;&#x8303;
&#x7531;&#x4E8E;&#x4E0D;&#x662F;JavaScript&#x539F;&#x751F;&#x652F;&#x6301;&#xFF0C;&#x4F7F;&#x7528;AMD&#x89C4;&#x8303;&#x8FDB;&#x884C;&#x9875;&#x9762;&#x5F00;&#x53D1;&#x9700;&#x8981;&#x7528;&#x5230;&#x5BF9;&#x5E94;&#x7684;&#x5E93;&#x51FD;&#x6570;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x5927;&#x540D;&#x9F0E;&#x9F0E;RequireJS&#xFF0C;&#x5B9E;&#x9645;&#x4E0A;AMD &#x662F; RequireJS &#x5728;&#x63A8;&#x5E7F;&#x8FC7;&#x7A0B;&#x4E2D;&#x5BF9;&#x6A21;&#x5757;&#x5B9A;&#x4E49;&#x7684;&#x89C4;&#x8303;&#x5316;&#x7684;&#x4EA7;&#x51FA;
requireJS&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4E24;&#x4E2A;&#x95EE;&#x9898;
&#x591A;&#x4E2A;js&#x6587;&#x4EF6;&#x53EF;&#x80FD;&#x6709;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF0C;&#x88AB;&#x4F9D;&#x8D56;&#x7684;&#x6587;&#x4EF6;&#x9700;&#x8981;&#x65E9;&#x4E8E;&#x4F9D;&#x8D56;&#x5B83;&#x7684;&#x6587;&#x4EF6;&#x52A0;&#x8F7D;&#x5230;&#x6D4F;&#x89C8;&#x5668;
js&#x52A0;&#x8F7D;&#x7684;&#x65F6;&#x5019;&#x6D4F;&#x89C8;&#x5668;&#x4F1A;&#x505C;&#x6B62;&#x9875;&#x9762;&#x6E32;&#x67D3;&#xFF0C;&#x52A0;&#x8F7D;&#x6587;&#x4EF6;&#x8D8A;&#x591A;&#xFF0C;&#x9875;&#x9762;&#x5931;&#x53BB;&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x8D8A;&#x957F;
&#x770B;&#x4E00;&#x4E2A;&#x4F7F;&#x7528;requireJS&#x7684;&#x4F8B;&#x5B50;
<span class="hljs-comment">// &#x5B9A;&#x4E49;&#x6A21;&#x5757; myModule.js</span>

define([<span class="hljs-string">&apos;dependency&apos;</span>], <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
    <span class="hljs-keyword">var</span> name = <span class="hljs-string">&apos;Byron&apos;</span>;
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">printName</span>(<span class="hljs-params"></span>)</span>{
        <span class="hljs-built_in">console</span>.log(name);
    }

    <span class="hljs-keyword">return</span> {
        printName: printName
    };
});

<span class="hljs-comment">// &#x52A0;&#x8F7D;&#x6A21;&#x5757;</span>
<span class="hljs-built_in">require</span>([<span class="hljs-string">&apos;myModule&apos;</span>], <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">my</span>)</span>{
&#x3000; my.printName();
});
&#x8BED;&#x6CD5;
requireJS&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x4E2A;&#x51FD;&#x6570; define&#xFF0C;&#x5B83;&#x662F;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#xFF0C;&#x7528;&#x6765;&#x5B9A;&#x4E49;&#x6A21;&#x5757;

define(id?, dependencies?, factory);
id&#xFF1A;&#x53EF;&#x9009;&#x53C2;&#x6570;&#xFF0C;&#x7528;&#x6765;&#x5B9A;&#x4E49;&#x6A21;&#x5757;&#x7684;&#x6807;&#x8BC6;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x63D0;&#x4F9B;&#x8BE5;&#x53C2;&#x6570;&#xFF0C;&#x811A;&#x672C;&#x6587;&#x4EF6;&#x540D;&#xFF08;&#x53BB;&#x6389;&#x62D3;&#x5C55;&#x540D;&#xFF09;
dependencies&#xFF1A;&#x662F;&#x4E00;&#x4E2A;&#x5F53;&#x524D;&#x6A21;&#x5757;&#x4F9D;&#x8D56;&#x7684;&#x6A21;&#x5757;&#x540D;&#x79F0;&#x6570;&#x7EC4;
factory&#xFF1A;&#x5DE5;&#x5382;&#x65B9;&#x6CD5;&#xFF0C;&#x6A21;&#x5757;&#x521D;&#x59CB;&#x5316;&#x8981;&#x6267;&#x884C;&#x7684;&#x51FD;&#x6570;&#x6216;&#x5BF9;&#x8C61;&#x3002;&#x5982;&#x679C;&#x4E3A;&#x51FD;&#x6570;&#xFF0C;&#x5B83;&#x5E94;&#x8BE5;&#x53EA;&#x88AB;&#x6267;&#x884C;&#x4E00;&#x6B21;&#x3002;&#x5982;&#x679C;&#x662F;&#x5BF9;&#x8C61;&#xFF0C;&#x6B64;&#x5BF9;&#x8C61;&#x5E94;&#x8BE5;&#x4E3A;&#x6A21;&#x5757;&#x7684;&#x8F93;&#x51FA;&#x503C;
&#x5728;&#x9875;&#x9762;&#x4E0A;&#x4F7F;&#x7528;<span class="hljs-built_in">require</span>&#x51FD;&#x6570;&#x52A0;&#x8F7D;&#x6A21;&#x5757;

<span class="hljs-built_in">require</span>([dependencies], <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{});
<span class="hljs-built_in">require</span>()&#x51FD;&#x6570;&#x63A5;&#x53D7;&#x4E24;&#x4E2A;&#x53C2;&#x6570;

&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#x662F;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#xFF0C;&#x8868;&#x793A;&#x6240;&#x4F9D;&#x8D56;&#x7684;&#x6A21;&#x5757;
&#x7B2C;&#x4E8C;&#x4E2A;&#x53C2;&#x6570;&#x662F;&#x4E00;&#x4E2A;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#xFF0C;&#x5F53;&#x524D;&#x9762;&#x6307;&#x5B9A;&#x7684;&#x6A21;&#x5757;&#x90FD;&#x52A0;&#x8F7D;&#x6210;&#x529F;&#x540E;&#xFF0C;&#x5B83;&#x5C06;&#x88AB;&#x8C03;&#x7528;&#x3002;&#x52A0;&#x8F7D;&#x7684;&#x6A21;&#x5757;&#x4F1A;&#x4EE5;&#x53C2;&#x6570;&#x5F62;&#x5F0F;&#x4F20;&#x5165;&#x8BE5;&#x51FD;&#x6570;&#xFF0C;&#x4ECE;&#x800C;&#x5728;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x5185;&#x90E8;&#x5C31;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x8FD9;&#x4E9B;&#x6A21;&#x5757;
<span class="hljs-built_in">require</span>()&#x51FD;&#x6570;&#x5728;&#x52A0;&#x8F7D;&#x4F9D;&#x8D56;&#x7684;&#x51FD;&#x6570;&#x7684;&#x65F6;&#x5019;&#x662F;&#x5F02;&#x6B65;&#x52A0;&#x8F7D;&#x7684;&#xFF0C;&#x8FD9;&#x6837;&#x6D4F;&#x89C8;&#x5668;&#x4E0D;&#x4F1A;&#x5931;&#x53BB;&#x54CD;&#x5E94;&#xFF0C;&#x5B83;&#x6307;&#x5B9A;&#x7684;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#xFF0C;&#x53EA;&#x6709;&#x524D;&#x9762;&#x7684;&#x6A21;&#x5757;&#x90FD;&#x52A0;&#x8F7D;&#x6210;&#x529F;&#x540E;&#xFF0C;&#x624D;&#x4F1A;&#x8FD0;&#x884C;&#xFF0C;&#x89E3;&#x51B3;&#x4E86;&#x4F9D;&#x8D56;&#x6027;&#x7684;&#x95EE;&#x9898;&#x3002;
</code></pre>
                                    <h3
                                        id="73-&#x2605;&#x2605;-jquery-&#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;">
                                        <a name="73-&#x2605;&#x2605;-jquery-&#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#73-&#x2605;&#x2605;-jquery-&#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="73-&#x2605;&#x2605;-jquery-&#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;"
                                            class="plugin-anchor"
                                            href="#73-&#x2605;&#x2605;-jquery-&#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-73"> 73. &#x2605;&#x2605; jQuery
                                            &#x600E;&#x4E48;&#x627E;&#x5230;&#x4E8B;&#x4EF6;&#x6E90;&#x5143;&#x7D20;</p>
                                    </h3>
                                    <pre><code class="lang-JS">$(<span class="hljs-string">&quot;.btn&quot;</span>).click(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">e</span>)</span>{
    <span class="hljs-comment">// e &#x5C31;&#x662F;&#x4E8B;&#x4EF6;&#x5BF9;&#x8C61;</span>
    e.target; <span class="hljs-comment">// &#x4E8B;&#x4EF6;&#x7684;&#x76EE;&#x6807; dom</span>
    e.currentTarget; <span class="hljs-comment">// &#x4E8B;&#x4EF6;&#x5904;&#x7406;&#x7A0B;&#x5E8F;&#x6B63;&#x5728;&#x5904;&#x7406;&#x4E8B;&#x4EF6;&#x7684;&#x90A3;&#x4E2A;&#x5143;&#x7D20;</span>
    e.srcElement; <span class="hljs-comment">// &#x4E8B;&#x4EF6;&#x7684;&#x76EE;&#x6807; ie</span>
});
</code></pre>
                                    <h3
                                        id="74-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;">
                                        <a name="74-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#74-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="74-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;"
                                            class="plugin-anchor"
                                            href="#74-&#x2605;&#x2605;&#x2605;&#x2605;-&#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-74"> 74. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x6A21;&#x677F;&#x5F15;&#x64CE;&#x539F;&#x7406;</p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x6A21;&#x677F;&#x5F15;&#x64CE;&#x662F;&#x901A;&#x8FC7;&#x5B57;&#x7B26;&#x4E32;&#x62FC;&#x63A5;&#x5F97;&#x5230;&#x7684;

<span class="hljs-keyword">let</span> template = <span class="hljs-string">&apos;hello &lt;% name %&gt;!&apos;</span>
<span class="hljs-keyword">let</span> template = <span class="hljs-string">&apos;hello &apos;</span> + name + <span class="hljs-string">&apos;!&apos;</span>

&#x5B57;&#x7B26;&#x4E32;&#x662F;&#x901A;&#x8FC7;<span class="hljs-keyword">new</span> <span class="hljs-built_in">Function</span>&#x6267;&#x884C;&#x7684;

<span class="hljs-keyword">let</span> name = <span class="hljs-string">&apos;world&apos;</span>
<span class="hljs-keyword">let</span> template = <span class="hljs-string">`
  let str = &apos;hello &apos; +  name  + &apos;!&apos;
  return str
`</span>
<span class="hljs-keyword">let</span> fn = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Function</span>(<span class="hljs-string">&apos;name&apos;</span>, template)
<span class="hljs-built_in">console</span>.log(fn(name)) <span class="hljs-comment">// hello world!</span>

&#x5C06;&#x6A21;&#x677F;&#x8F6C;&#x6362;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&#x5E76;&#x901A;&#x8FC7;&#x51FD;&#x6570;&#x6267;&#x884C;&#x8FD4;&#x56DE;
<span class="hljs-keyword">let</span> template = <span class="hljs-string">&apos;hello &lt;% name %&gt;!&apos;</span>
<span class="hljs-keyword">let</span> name = <span class="hljs-string">&apos;world&apos;</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">compile</span> (<span class="hljs-params">template</span>) </span>{
  <span class="hljs-keyword">let</span> html = template.replace(<span class="hljs-regexp">/&lt;%([\s\S]+?)%&gt;/g</span>, (match, code) =&gt; {
    <span class="hljs-keyword">return</span> <span class="hljs-string">`&apos; + <span class="hljs-subst">${code}</span> + &apos;`</span>
  })
  html = <span class="hljs-string">`let str = &apos;<span class="hljs-subst">${html}</span>&apos;; return str`</span>
  <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Function</span>(<span class="hljs-string">&apos;name&apos;</span>, html)
}
<span class="hljs-keyword">let</span> str = compile(template)
<span class="hljs-built_in">console</span>.log(str(name)) <span class="hljs-comment">// hello world!</span>

&#x51FD;&#x6570;&#x53EA;&#x80FD;&#x63A5;&#x6536;&#x4E00;&#x4E2A;name&#x53D8;&#x91CF;&#x4F5C;&#x4E3A;&#x53C2;&#x6570;&#xFF0C;&#x529F;&#x80FD;&#x592A;&#x5355;&#x4E00;&#x4E86;&#xFF0C;&#x4E00;&#x822C;&#x4F1A;&#x901A;&#x8FC7;&#x5BF9;&#x8C61;&#x6765;&#x4F20;&#x53C2;&#xFF0C;<span class="hljs-keyword">with</span>&#x6765;&#x51CF;&#x5C11;&#x53D8;&#x91CF;&#x8BBF;&#x95EE;&#x3002;

<span class="hljs-keyword">with</span>&#x529F;&#x80FD;
<span class="hljs-keyword">let</span> params = {
  name: <span class="hljs-string">&apos;&#x5F20;&#x4E09;&apos;</span>,
  age: <span class="hljs-number">18</span>
}
<span class="hljs-keyword">let</span> str = <span class="hljs-string">&apos;&apos;</span>
<span class="hljs-keyword">with</span> (params) {
  str = <span class="hljs-string">`&#x7528;&#x6237;<span class="hljs-subst">${name}</span>&#x7684;&#x5E74;&#x9F84;&#x662F;<span class="hljs-subst">${age}</span>&#x5C81;`</span>
}
<span class="hljs-built_in">console</span>.log(str) <span class="hljs-comment">// &#x7528;&#x6237;&#x5F20;&#x4E09;&#x7684;&#x5E74;&#x9F84;&#x662F;18&#x5C81;</span>

&#x5B9E;&#x73B0;&#x7B80;&#x5355;&#x7684;&#x6A21;&#x677F;&#x5F15;&#x64CE;
<span class="hljs-keyword">let</span> template = <span class="hljs-string">&apos;hello &lt;% name %&gt;!&apos;</span>
<span class="hljs-keyword">let</span> name = <span class="hljs-string">&apos;world&apos;</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">compile</span> (<span class="hljs-params">template</span>) </span>{
  <span class="hljs-keyword">let</span> html = template.replace(<span class="hljs-regexp">/&lt;%([\s\S]+?)%&gt;/g</span>, (match, code) =&gt; {
    <span class="hljs-keyword">return</span> <span class="hljs-string">`&apos; + <span class="hljs-subst">${code.trim()}</span> + &apos;`</span>
  })
  html = <span class="hljs-string">`&apos;<span class="hljs-subst">${html}</span>&apos;`</span>
  html = <span class="hljs-string">`let str = &apos;&apos;; with (params) { str = <span class="hljs-subst">${html}</span>; } return str`</span>
  <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Function</span>(<span class="hljs-string">&apos;params&apos;</span>, html)
}
<span class="hljs-keyword">let</span> str = compile(template)
<span class="hljs-built_in">console</span>.log(str({ name })) <span class="hljs-comment">// hello world!</span>
</code></pre>
                                    <h3 id="75-&#x2605;&#x2605;-map-&#x548C;-foreach-&#x7684;&#x533A;&#x522B;"><a
                                            name="75-&#x2605;&#x2605;-map-&#x548C;-foreach-&#x7684;&#x533A;&#x522B;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#75-&#x2605;&#x2605;-map-&#x548C;-foreach-&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="75-&#x2605;&#x2605;-map-&#x548C;-foreach-&#x7684;&#x533A;&#x522B;"
                                            class="plugin-anchor"
                                            href="#75-&#x2605;&#x2605;-map-&#x548C;-foreach-&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-75"> 75. &#x2605;&#x2605; map &#x548C; foreach
                                            &#x7684;&#x533A;&#x522B;</p>
                                    </h3>
                                    <pre><code class="lang-JS">forEach()&#x65B9;&#x6CD5;&#x4E0D;&#x4F1A;&#x8FD4;&#x56DE;&#x6267;&#x884C;&#x7ED3;&#x679C;&#xFF0C;&#x800C;&#x662F;<span class="hljs-literal">undefined</span>&#x3002;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#xFF0C;forEach()&#x4F1A;&#x4FEE;&#x6539;&#x539F;&#x6765;&#x7684;&#x6570;&#x7EC4;&#x3002;
map()&#x65B9;&#x6CD5;&#x4F1A;&#x5F97;&#x5230;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x6570;&#x7EC4;&#x5E76;&#x8FD4;&#x56DE;&#x3002;
</code></pre>
                                    <h3 id="76-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x7684;&#x65B0;&#x7279;&#x6027;"><a
                                            name="76-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x7684;&#x65B0;&#x7279;&#x6027;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#76-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x7684;&#x65B0;&#x7279;&#x6027;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="76-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x7684;&#x65B0;&#x7279;&#x6027;"
                                            class="plugin-anchor"
                                            href="#76-&#x2605;&#x2605;&#x2605;&#x2605;-es6-&#x7684;&#x65B0;&#x7279;&#x6027;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-76"> 76. &#x2605;&#x2605;&#x2605;&#x2605; ES6
                                            &#x7684;&#x65B0;&#x7279;&#x6027;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> <span class="hljs-keyword">const</span>&#x4E0E;<span class="hljs-keyword">let</span>
<span class="hljs-number">2.</span> &#x6A21;&#x677F;&#x5B57;&#x7B26;&#x4E32;
<span class="hljs-number">3.</span> &#x89E3;&#x6784;&#x8D4B;&#x503C;
<span class="hljs-number">4.</span> &#x5BF9;&#x8C61;&#x7B80;&#x5199;&#x6CD5;
<span class="hljs-number">5.</span> <span class="hljs-keyword">for</span>...of&#x5FAA;&#x73AF;
<span class="hljs-number">6.</span> &#x5C55;&#x5F00;&#x8FD0;&#x7B97;&#x7B26;
<span class="hljs-number">7.</span> &#x5269;&#x4F59;&#x53C2;&#x6570;(&#x53EF;&#x53D8;&#x53C2;&#x6570;)
<span class="hljs-number">8.</span> ES6&#x7BAD;&#x5934;&#x51FD;&#x6570;
<span class="hljs-number">9.</span> &#x53C2;&#x6570;&#x9ED8;&#x8BA4;&#x503C;
<span class="hljs-number">10.</span>&#x7C7B;&#x548C;&#x7EE7;&#x627F;
<span class="hljs-number">11.</span>&#x6A21;&#x5757;&#x5316;&#x89C4;&#x8303;
</code></pre>
                                    <h3
                                        id="77-&#x2605;&#x2605;-20180101-&#x8F6C;&#x6362;&#x6210;-2018&#x5E74;1&#x6708;1&#x65E5;">
                                        <a name="77-&#x2605;&#x2605;-20180101-&#x8F6C;&#x6362;&#x6210;-2018&#x5E74;1&#x6708;1&#x65E5;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#77-&#x2605;&#x2605;-20180101-&#x8F6C;&#x6362;&#x6210;-2018&#x5E74;1&#x6708;1&#x65E5;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="77-&#x2605;&#x2605;-20180101-&#x8F6C;&#x6362;&#x6210;-2018&#x5E74;1&#x6708;1&#x65E5;"
                                            class="plugin-anchor"
                                            href="#77-&#x2605;&#x2605;-20180101-&#x8F6C;&#x6362;&#x6210;-2018&#x5E74;1&#x6708;1&#x65E5;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-77"> 77. &#x2605;&#x2605; 2018/01/01 &#x8F6C;&#x6362;&#x6210;
                                            2018&#x5E74;/1&#x6708;/1&#x65E5;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fun</span>(<span class="hljs-params">str</span>)</span>{
    <span class="hljs-keyword">var</span> date = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>(str)
    <span class="hljs-keyword">return</span> date.getFullYear()+<span class="hljs-string">&apos;&#x5E74;/&apos;</span>+date.getMonth()+<span class="hljs-string">&apos;&#x6708;/&apos;</span>+date.getDate()+<span class="hljs-string">&apos;&#x65E5;&apos;</span>
}
</code></pre>
                                    <h3
                                        id="78-&#x2605;&#x2605;&#x2605;-0102-&#x7B49;&#x4E0D;&#x7B49;&#x4E8E;-03&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;">
                                        <a name="78-&#x2605;&#x2605;&#x2605;-0102-&#x7B49;&#x4E0D;&#x7B49;&#x4E8E;-03&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#78-&#x2605;&#x2605;&#x2605;-0102-&#x7B49;&#x4E0D;&#x7B49;&#x4E8E;-03&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="78-&#x2605;&#x2605;&#x2605;-0102-&#x7B49;&#x4E0D;&#x7B49;&#x4E8E;-03&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;"
                                            class="plugin-anchor"
                                            href="#78-&#x2605;&#x2605;&#x2605;-0102-&#x7B49;&#x4E0D;&#x7B49;&#x4E8E;-03&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-78"> 78. &#x2605;&#x2605;&#x2605; 0.1+0.2
                                            &#x7B49;&#x4E0D;&#x7B49;&#x4E8E;
                                            0.3&#xFF1F;&#x81EA;&#x5DF1;&#x5C01;&#x88C5;&#x4E00;&#x4E2A;&#x8BA9;&#x4ED6;&#x4EEC;&#x76F8;&#x7B49;&#x7684;&#x65B9;&#x6CD5;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">
&#x5728;&#x6B63;&#x5E38;&#x7684;&#x6570;&#x5B66;&#x903B;&#x8F91;&#x601D;&#x7EF4;&#x4E2D;&#xFF0C;<span class="hljs-number">0.1</span>+<span class="hljs-number">0.2</span>=<span class="hljs-number">0.3</span>&#x8FD9;&#x4E2A;&#x903B;&#x8F91;&#x662F;&#x6B63;&#x786E;&#x7684;&#xFF0C;&#x4F46;&#x662F;&#x5728;JavaScript&#x4E2D;<span class="hljs-number">0.1</span>+<span class="hljs-number">0.2</span>&#xFF01;==<span class="hljs-number">0.3</span>&#xFF0C;&#x8FD9;&#x662F;&#x4E3A;&#x4EC0;&#x4E48;&#x5462;&#xFF1F;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x4E5F;&#x4F1A;&#x5076;&#x5C14;&#x88AB;&#x7528;&#x6765;&#x5F53;&#x505A;&#x9762;&#x8BD5;&#x9898;&#x6765;&#x8003;&#x67E5;&#x9762;&#x8BD5;&#x8005;&#x5BF9;JavaScript&#x7684;&#x6570;&#x503C;&#x7684;&#x7406;&#x89E3;&#x7A0B;&#x5EA6;&#x3002;

&#x3000;&#x3000;&#x5728;JavaScript&#x4E2D;&#x7684;&#x4E8C;&#x8FDB;&#x5236;&#x7684;&#x6D6E;&#x70B9;&#x6570;<span class="hljs-number">0.1</span>&#x548C;<span class="hljs-number">0.2</span>&#x5E76;&#x4E0D;&#x662F;&#x5341;&#x5206;&#x7CBE;&#x786E;&#xFF0C;&#x5728;&#x4ED6;&#x4EEC;&#x76F8;&#x52A0;&#x7684;&#x7ED3;&#x679C;&#x5E76;&#x975E;&#x6B63;&#x597D;&#x7B49;&#x4E8E;<span class="hljs-number">0.3</span>&#xFF0C;&#x800C;&#x662F;&#x4E00;&#x4E2A;&#x6BD4;&#x8F83;&#x63A5;&#x8FD1;&#x7684;&#x6570;&#x5B57; <span class="hljs-number">0.30000000000000004</span> &#xFF0C;&#x6240;&#x4EE5;&#x6761;&#x4EF6;&#x5224;&#x65AD;&#x7ED3;&#x679C;&#x4E3A;<span class="hljs-literal">false</span>&#x3002;

&#x65B9;&#x6CD5;<span class="hljs-number">1</span>&#xFF1A;&#x8BBE;&#x7F6E;&#x4E00;&#x4E2A;&#x8BEF;&#x5DEE;&#x8303;&#x56F4;&#x503C;&#xFF0C;&#x901A;&#x5E38;&#x79F0;&#x4E3A;&#x201D;&#x673A;&#x5668;&#x7CBE;&#x5EA6;&#x201C;&#xFF0C;&#x800C;&#x5BF9;&#x4E8E;Javascript&#x6765;&#x8BF4;&#xFF0C;&#x8FD9;&#x4E2A;&#x503C;&#x901A;&#x5E38;&#x662F;<span class="hljs-number">2</span>^<span class="hljs-number">-52</span>,&#x800C;&#x5728;ES6&#x4E2D;&#xFF0C;&#x5DF2;&#x7ECF;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x8FD9;&#x6837;&#x4E00;&#x4E2A;&#x5C5E;&#x6027;&#xFF1A;<span class="hljs-built_in">Number</span>.EPSILON&#xFF0C;&#x800C;&#x8FD9;&#x4E2A;&#x503C;&#x6B63;&#x7B49;&#x4E8E;<span class="hljs-number">2</span>^<span class="hljs-number">-52</span>&#x3002;&#x8FD9;&#x4E2A;&#x503C;&#x975E;&#x5E38;&#x975E;&#x5E38;&#x5C0F;&#xFF0C;&#x5728;&#x5E95;&#x5C42;&#x8BA1;&#x7B97;&#x673A;&#x5DF2;&#x7ECF;&#x5E2E;&#x6211;&#x4EEC;&#x8FD0;&#x7B97;&#x597D;&#xFF0C;&#x5E76;&#x4E14;&#x65E0;&#x9650;&#x63A5;&#x8FD1;<span class="hljs-number">0</span>&#xFF0C;&#x4F46;&#x4E0D;&#x7B49;&#x4E8E;<span class="hljs-number">0</span>,&#x3002;&#x8FD9;&#x4E2A;&#x65F6;&#x5019;&#x6211;&#x4EEC;&#x53EA;&#x8981;&#x5224;&#x65AD;(<span class="hljs-number">0.1</span>+<span class="hljs-number">0.2</span>)<span class="hljs-number">-0.3</span>&#x5C0F;&#x4E8E;<span class="hljs-built_in">Number</span>.EPSILON&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x8BEF;&#x5DEE;&#x7684;&#x8303;&#x56F4;&#x5185;&#x5C31;&#x53EF;&#x4EE5;&#x5224;&#x5B9A;<span class="hljs-number">0.1</span>+<span class="hljs-number">0.2</span>===<span class="hljs-number">0.3</span>&#x4E3A;<span class="hljs-literal">true</span>&#x3002;

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">numbersequal</span>(<span class="hljs-params">a,b</span>)</span>{ 
    <span class="hljs-keyword">return</span> <span class="hljs-built_in">Math</span>.abs(a-b)&lt;<span class="hljs-built_in">Number</span>.EPSILON;
} 

&#x65B9;&#x6CD5;<span class="hljs-number">2</span>&#xFF1A;&#x8F6C;&#x4E3A;&#x6574;&#x6570;&#x8FD0;&#x7B97;
</code></pre>
                                    <h3
                                        id="79-&#x2605;&#x2605;&#x2605;-&#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;">
                                        <a name="79-&#x2605;&#x2605;&#x2605;-&#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#79-&#x2605;&#x2605;&#x2605;-&#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="79-&#x2605;&#x2605;&#x2605;-&#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#79-&#x2605;&#x2605;&#x2605;-&#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-79"> 79. &#x2605;&#x2605;&#x2605;
                                            &#x8DE8;&#x57DF;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x6709;&#x54EA;&#x4E9B;&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x4EC0;&#x4E48;&#x662F;&#x8DE8;&#x57DF;?

&#x6240;&#x8C13;&#x7684;&#x540C;&#x6E90;&#x662F;&#x6307;&#xFF0C;&#x57DF;&#x540D;&#x3001;&#x534F;&#x8BAE;&#x3001;&#x7AEF;&#x53E3;&#x5747;&#x4E3A;&#x76F8;&#x540C;&#x3002;
&#x6240;&#x8C13;&#x7684;&#x8DE8;&#x57DF;&#xFF0C;&#x4E0D;&#x540C;&#x7684;&#x57DF;&#x540D;&#x3001;&#x534F;&#x8BAE;&#x3001;&#x7AEF;&#x53E3;&#x7686;&#x4E3A;&#x4E0D;&#x540C;&#x57DF;

&#x4E00;&#x4E2A;&#x57DF;&#x4E0E;&#x53E6;&#x4E00;&#x4E2A;&#x57DF;&#x540D;&#x3001;&#x534F;&#x8BAE;&#x6216;&#x8005;&#x7AEF;&#x53E3;&#x4E0D;&#x540C;&#x7684;&#x57DF;&#x7684;&#x4E4B;&#x95F4;&#x8BBF;&#x95EE;&#x90FD;&#x53EB;&#x8DE8;&#x57DF;

&#x89E3;&#x51B3;&#x8DE8;&#x57DF;&#x7684;&#x65B9;&#x6CD5;&#x548C;&#x65B9;&#x6848;&#xFF1A;
<span class="hljs-number">1</span>&#xFF1A;&#x901A;&#x8FC7;&#x670D;&#x52A1;&#x7AEF;&#x4EE3;&#x7406;&#x8BF7;&#x6C42;&#x3002;&#x5982;PHP&#xFF0C;&#x670D;&#x52A1;&#x7AEF;&#x8BED;&#x8A00;php&#x662F;&#x6CA1;&#x6709;&#x8DE8;&#x57DF;&#x9650;&#x5236;&#x7684;&#xFF0C;&#x8BA9;&#x670D;&#x52A1;&#x5668;&#x53BB;&#x522B;&#x7684;&#x7F51;&#x7AD9;&#x83B7;&#x53D6;&#x5185;&#x5BB9;&#x7136;&#x540E;&#x8FD4;&#x56DE;&#x7ED9;&#x9875;&#x9762;&#x3002;

<span class="hljs-number">2</span>&#xFF1A;&#x7B2C;&#x4E8C;&#x79CD;&#xFF1A;jsonp&#x8DE8;&#x57DF;
    <span class="hljs-number">1.</span> jsonp&#x8DE8;&#x57DF;&#x5C31;&#x662F;&#x5229;&#x7528;script&#x6807;&#x7B7E;&#x7684;&#x8DE8;&#x57DF;&#x80FD;&#x529B;&#x8BF7;&#x6C42;&#x8D44;&#x6E90;
    <span class="hljs-number">2.</span> jsonp&#x4E0E;ajax&#x6CA1;&#x6709;&#x534A;&#x6BDB;&#x94B1;&#x5173;&#x7CFB;&#xFF01;&#xFF01;
    <span class="hljs-number">3.</span> &#x6D4F;&#x89C8;&#x5668;&#x7684;&#x540C;&#x6E90;&#x7B56;&#x7565;&#x9650;&#x5236;&#x4E86;js&#x7684;&#x8DE8;&#x57DF;&#x80FD;&#x529B;&#xFF0C;&#x4F46;&#x6CA1;&#x6709;&#x9650;&#x5236;link img iframe script &#x7684;&#x8DE8;&#x57DF;&#x884C;&#x4E3A;
    &#x5B9E;&#x73B0;&#x65B9;&#x5F0F;&#xFF1A;
    <span class="hljs-number">1.</span> &#x5229;&#x7528;js&#x521B;&#x5EFA;&#x4E00;&#x4E2A;script&#x6807;&#x7B7E;&#xFF0C;&#x628A;json&#x7684;url&#x8D4B;&#x7ED9;script&#x7684;scr&#x5C5E;&#x6027;&#xFF0C;
    <span class="hljs-number">2.</span> &#x628A;&#x8FD9;&#x4E2A;script&#x63D2;&#x5165;&#x5230;&#x9875;&#x9762;&#x91CC;&#xFF0C;&#x8BA9;&#x6D4F;&#x89C8;&#x5668;&#x53BB;&#x8DE8;&#x57DF;&#x83B7;&#x53D6;&#x8D44;&#x6E90;
    <span class="hljs-number">3.</span> JS&#x5148;&#x58F0;&#x660E;&#x597D;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#xFF0C;&#x63D2;&#x5165;&#x9875;&#x9762;&#x540E;&#x4F1A;&#x4EE3;&#x4E3A;&#x6267;&#x884C;&#x8BE5;&#x51FD;&#x6570;&#xFF0C;&#x5E76;&#x4E14;&#x4F20;&#x5165;json&#x5BF9;&#x8C61;&#x4E3A;&#x5176;&#x53C2;&#x6570;&#x3002;
    &#x6CE8;&#x610F;&#xFF1A;
    <span class="hljs-number">1.</span> jsonp&#x53EA;&#x9488;&#x5BF9;get&#x8BF7;&#x6C42;
    <span class="hljs-number">2.</span> script&#x6807;&#x7B7E;&#x52A0;&#x8F7D;&#x56DE;&#x6765;&#x7684;&#x8D44;&#x6E90;&#x4F1A;&#x88AB;&#x5F53;&#x6210;js&#x5728;&#x5168;&#x5C40;&#x6267;&#x884C;

<span class="hljs-number">3</span>&#xFF1A;CORS &#x8DE8;&#x57DF;&#x8D44;&#x6E90;&#x5171;&#x4EAB;(xhr2)
    CORS&#x662F;&#x4E00;&#x4E2A;W3C&#x6807;&#x51C6;&#xFF0C;&#x5168;&#x79F0;&#x662F;<span class="hljs-string">&quot;&#x8DE8;&#x57DF;&#x8D44;&#x6E90;&#x5171;&#x4EAB;&quot;</span>&#xFF08;Cross-origin resource sharing&#xFF09;
    &#x5B83;&#x5141;&#x8BB8;&#x6D4F;&#x89C8;&#x5668;&#x5411;&#x8DE8;&#x6E90;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x53D1;&#x51FA;XMLHttpRequest&#x8BF7;&#x6C42;&#xFF0C;&#x4ECE;&#x800C;&#x514B;&#x670D;&#x4E86;AJAX&#x53EA;&#x80FD;&#x540C;&#x6E90;&#x4F7F;&#x7528;&#x7684;&#x9650;&#x5236;
    &#x6574;&#x4E2A;CORS&#x901A;&#x4FE1;&#x8FC7;&#x7A0B;&#xFF0C;&#x90FD;&#x662F;&#x6D4F;&#x89C8;&#x5668;&#x81EA;&#x52A8;&#x5B8C;&#x6210;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x7528;&#x6237;&#x53C2;&#x4E0E;
    &#x5BF9;&#x4E8E;&#x5F00;&#x53D1;&#x8005;&#x6765;&#x8BF4;&#xFF0C;CORS&#x901A;&#x4FE1;&#x4E0E;&#x540C;&#x6E90;&#x7684;AJAX&#x901A;&#x4FE1;&#x6CA1;&#x6709;&#x5DEE;&#x522B;&#xFF0C;&#x4EE3;&#x7801;&#x5B8C;&#x5168;&#x4E00;&#x6837;
    &#x5B9E;&#x73B0;CORS&#x901A;&#x4FE1;&#x7684;&#x5173;&#x952E;&#x662F;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x53EA;&#x8981;&#x670D;&#x52A1;&#x5668;&#x5B9E;&#x73B0;&#x4E86;CORS&#x63A5;&#x53E3;&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x8DE8;&#x6E90;&#x901A;&#x4FE1;

<span class="hljs-number">4</span>&#xFF1A;nginx&#x4EE3;&#x7406;&#x8DE8;&#x57DF;
    &#x901A;&#x8FC7;nginx&#x670D;&#x52A1;&#x5668;&#x8F6C;&#x53D1;&#x8DE8;&#x57DF;&#x8BF7;&#x6C42;&#xFF0C;&#x8FBE;&#x5230;&#x8DE8;&#x57DF;&#x7684;&#x76EE;&#x7684;
</code></pre>
                                    <h3
                                        id="80-&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;">
                                        <a name="80-&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#80-&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="80-&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#80-&#x2605;&#x2605;&#x2605;-&#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-80"> 80. &#x2605;&#x2605;&#x2605;
                                            &#x4EC0;&#x4E48;&#x662F;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x7684;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1A;
&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#x548C;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#x662F;&#x6709;&#x6240;&#x5173;&#x8054;&#x7684;&#xFF0C;&#x56E0;&#x4E3A;&#x4ED6;&#x4EEC;&#x601D;&#x60F3;&#x662F;&#x4E00;&#x81F4;&#x7684;&#xFF1A;&#x5373;&#x53EA;&#x5173;&#x6CE8;&#x505A;&#x4EC0;&#x4E48;&#x800C;&#x4E0D;&#x662F;&#x600E;&#x4E48;&#x505A;&#x3002;&#x4F46;&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#x4E0D;&#x4EC5;&#x4EC5;&#x5C40;&#x9650;&#x4E8E;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#x3002;
&#x51FD;&#x6570;&#x5F0F;&#x7F16;&#x7A0B;&#x6700;&#x91CD;&#x8981;&#x7684;&#x7279;&#x70B9;&#x662F;&#x201C;&#x51FD;&#x6570;&#x7B2C;&#x4E00;&#x4F4D;&#x201D;&#xFF0C;&#x5373;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x51FA;&#x73B0;&#x5728;&#x4EFB;&#x4F55;&#x5730;&#x65B9;&#xFF0C;&#x6BD4;&#x5982;&#x4F60;&#x53EF;&#x4EE5;&#x628A;&#x51FD;&#x6570;&#x4F5C;&#x4E3A;&#x53C2;&#x6570;&#x4F20;&#x9012;&#x7ED9;&#x53E6;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x4E0D;&#x4EC5;&#x5982;&#x6B64;&#x4F60;&#x8FD8;&#x53EF;&#x4EE5;&#x5C06;&#x51FD;&#x6570;&#x4F5C;&#x4E3A;&#x8FD4;&#x56DE;&#x503C;&#x3002;

&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#xFF1A;
&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#x662F;&#x4EE5;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x7684;&#x5F62;&#x5F0F;&#x6765;&#x8868;&#x8FBE;&#x7A0B;&#x5E8F;&#x6267;&#x884C;&#x7684;&#x903B;&#x8F91;&#x3002;&#x5B83;&#x7684;&#x4E3B;&#x8981;&#x601D;&#x60F3;&#x662F;&#x544A;&#x8BC9;&#x8BA1;&#x7B97;&#x673A;&#x5E94;&#x8BE5;&#x505A;&#x4EC0;&#x4E48;&#xFF0C;&#x4F46;&#x4E0D;&#x6307;&#x5B9A;&#x5177;&#x4F53;&#x8981;&#x600E;&#x4E48;&#x505A;&#x3002;
SQL &#x8BED;&#x53E5;&#x5C31;&#x662F;&#x6700;&#x660E;&#x663E;&#x7684;&#x4E00;&#x79CD;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#x7684;&#x4F8B;&#x5B50;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;
SELECT * FROM collection WHERE num &gt; <span class="hljs-number">5</span>
&#x9664;&#x4E86; SQL&#xFF0C;&#x7F51;&#x9875;&#x7F16;&#x7A0B;&#x4E2D;&#x7528;&#x5230;&#x7684; HTML &#x548C; CSS &#x4E5F;&#x90FD;&#x5C5E;&#x4E8E;&#x58F0;&#x660E;&#x5F0F;&#x7F16;&#x7A0B;&#x3002;
&#x7279;&#x70B9;&#xFF1A;
<span class="hljs-number">1</span>&#xFF1A;&#x662F;&#x5B83;&#x4E0D;&#x9700;&#x8981;&#x521B;&#x5EFA;&#x53D8;&#x91CF;&#x7528;&#x6765;&#x5B58;&#x50A8;&#x6570;&#x636E;&#x3002;
<span class="hljs-number">2</span>&#xFF1A;&#x4E0D;&#x5305;&#x542B;&#x5FAA;&#x73AF;&#x63A7;&#x5236;&#x7684;&#x4EE3;&#x7801;&#x5982; <span class="hljs-keyword">for</span>&#xFF0C; <span class="hljs-keyword">while</span>&#x3002;
</code></pre>
                                    <h3
                                        id="81-&#x2605;&#x2605;&#x2605;-super-&#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;">
                                        <a name="81-&#x2605;&#x2605;&#x2605;-super-&#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#81-&#x2605;&#x2605;&#x2605;-super-&#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="81-&#x2605;&#x2605;&#x2605;-super-&#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#81-&#x2605;&#x2605;&#x2605;-super-&#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-81"> 81. &#x2605;&#x2605;&#x2605; super()
                                            &#x662F;&#x5426;&#x5FC5;&#x987B;&#x6267;&#x884C;&#xFF1F;&#x4E0D;&#x6267;&#x884C;&#x600E;&#x4E48;&#x8BA9;&#x5B83;&#x4E0D;&#x62A5;&#x9519;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x975E;&#x5FC5;&#x987B;&#xFF0C;
&#x5728; JavaScript &#x4E2D;&#xFF0C;<span class="hljs-keyword">super</span> &#x6307;&#x7684;&#x662F;&#x7236;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;
&#x5982;&#x679C;&#x60F3;&#x5728;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4E2D;&#x4F7F;&#x7528;<span class="hljs-keyword">this</span>&#xFF0C;&#x4F60;&#x5FC5;&#x987B;&#x9996;&#x5148;&#x8C03;&#x7528;<span class="hljs-keyword">super</span>&#x3002; &#x5148;&#x8BA9;&#x7236;&#x7C7B;&#x505A;&#x5B8C;&#x81EA;&#x5DF1;&#x7684;&#x4E8B;
&#x4E0D;&#x6267;&#x884C;&#x65E0;&#x6CD5;&#x4F7F;&#x7528;<span class="hljs-keyword">this</span>&#xFF0C;
    &#x4E0D;&#x62A5;&#x9519;&#x7684;&#x65B9;&#x6CD5;&#xFF1A;
        <span class="hljs-number">1</span>&#xFF1A;&#x4E0D;&#x4F7F;&#x7528;<span class="hljs-keyword">this</span>
        <span class="hljs-number">2</span>&#xFF1A;&#x624B;&#x52A8;&#x4FEE;&#x6B63;<span class="hljs-keyword">this</span>
</code></pre>
                                    <h3
                                        id="82-&#x2605;&#x2605;&#x2605;-eventloop-&#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;">
                                        <a name="82-&#x2605;&#x2605;&#x2605;-eventloop-&#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#82-&#x2605;&#x2605;&#x2605;-eventloop-&#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="82-&#x2605;&#x2605;&#x2605;-eventloop-&#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#82-&#x2605;&#x2605;&#x2605;-eventloop-&#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-82"> 82. &#x2605;&#x2605;&#x2605; eventloop
                                            &#x6E32;&#x67D3;&#x5728;&#x54EA;&#x4E00;&#x6B65;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x4EFB;&#x52A1;&#x961F;&#x5217;
&#x6240;&#x6709;&#x7684;&#x4EFB;&#x52A1;&#x53EF;&#x4EE5;&#x5206;&#x4E3A;&#x540C;&#x6B65;&#x4EFB;&#x52A1;&#x548C;&#x5F02;&#x6B65;&#x4EFB;&#x52A1;&#xFF0C;&#x540C;&#x6B65;&#x4EFB;&#x52A1;&#xFF0C;&#x987E;&#x540D;&#x601D;&#x4E49;&#xFF0C;&#x5C31;&#x662F;&#x7ACB;&#x5373;&#x6267;&#x884C;&#x7684;&#x4EFB;&#x52A1;&#xFF0C;&#x540C;&#x6B65;&#x4EFB;&#x52A1;&#x4E00;&#x822C;&#x4F1A;&#x76F4;&#x63A5;&#x8FDB;&#x5165;&#x5230;&#x4E3B;&#x7EBF;&#x7A0B;&#x4E2D;&#x6267;&#x884C;&#xFF1B;&#x800C;&#x5F02;&#x6B65;&#x4EFB;&#x52A1;&#xFF0C;&#x5C31;&#x662F;&#x5F02;&#x6B65;&#x6267;&#x884C;&#x7684;&#x4EFB;&#x52A1;&#xFF0C;&#x6BD4;&#x5982;ajax&#x7F51;&#x7EDC;&#x8BF7;&#x6C42;&#xFF0C;setTimeout &#x5B9A;&#x65F6;&#x51FD;&#x6570;&#x7B49;&#x90FD;&#x5C5E;&#x4E8E;&#x5F02;&#x6B65;&#x4EFB;&#x52A1;&#xFF0C;&#x5F02;&#x6B65;&#x4EFB;&#x52A1;&#x4F1A;&#x901A;&#x8FC7;&#x4EFB;&#x52A1;&#x961F;&#x5217;( Event Queue )&#x7684;&#x673A;&#x5236;&#x6765;&#x8FDB;&#x884C;&#x534F;&#x8C03;&#x3002;

&#x540C;&#x6B65;&#x548C;&#x5F02;&#x6B65;&#x4EFB;&#x52A1;&#x5206;&#x522B;&#x8FDB;&#x5165;&#x4E0D;&#x540C;&#x7684;&#x6267;&#x884C;&#x73AF;&#x5883;&#xFF0C;&#x540C;&#x6B65;&#x7684;&#x8FDB;&#x5165;&#x4E3B;&#x7EBF;&#x7A0B;&#xFF0C;&#x5373;&#x4E3B;&#x6267;&#x884C;&#x6808;&#xFF0C;&#x5F02;&#x6B65;&#x7684;&#x8FDB;&#x5165; Event Queue &#x3002;&#x4E3B;&#x7EBF;&#x7A0B;&#x5185;&#x7684;&#x4EFB;&#x52A1;&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#x4E3A;&#x7A7A;&#xFF0C;&#x4F1A;&#x53BB; Event Queue &#x8BFB;&#x53D6;&#x5BF9;&#x5E94;&#x7684;&#x4EFB;&#x52A1;&#xFF0C;&#x63A8;&#x5165;&#x4E3B;&#x7EBF;&#x7A0B;&#x6267;&#x884C;&#x3002; &#x4E0A;&#x8FF0;&#x8FC7;&#x7A0B;&#x7684;&#x4E0D;&#x65AD;&#x91CD;&#x590D;&#x5C31;&#x662F;&#x6211;&#x4EEC;&#x8BF4;&#x7684; Event Loop (&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;)&#x3002;

&#x5728;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x4E2D;&#xFF0C;&#x6BCF;&#x8FDB;&#x884C;&#x4E00;&#x6B21;&#x5FAA;&#x73AF;&#x64CD;&#x4F5C;&#x79F0;&#x4E3A;tick&#xFF0C;&#x901A;&#x8FC7;&#x9605;&#x8BFB;&#x89C4;&#x8303;&#x53EF;&#x77E5;&#xFF0C;&#x6BCF;&#x4E00;&#x6B21; tick &#x7684;&#x4EFB;&#x52A1;&#x5904;&#x7406;&#x6A21;&#x578B;&#x662F;&#x6BD4;&#x8F83;&#x590D;&#x6742;&#x7684;&#xFF0C;&#x5176;&#x5173;&#x952E;&#x7684;&#x6B65;&#x9AA4;&#x53EF;&#x4EE5;&#x603B;&#x7ED3;&#x5982;&#x4E0B;&#xFF1A;

&#x5728;&#x6B64;&#x6B21; tick &#x4E2D;&#x9009;&#x62E9;&#x6700;&#x5148;&#x8FDB;&#x5165;&#x961F;&#x5217;&#x7684;&#x4EFB;&#x52A1;( oldest task )&#xFF0C;&#x5982;&#x679C;&#x6709;&#x5219;&#x6267;&#x884C;(&#x4E00;&#x6B21;)
&#x68C0;&#x67E5;&#x662F;&#x5426;&#x5B58;&#x5728; Microtasks &#xFF0C;&#x5982;&#x679C;&#x5B58;&#x5728;&#x5219;&#x4E0D;&#x505C;&#x5730;&#x6267;&#x884C;&#xFF0C;&#x76F4;&#x81F3;&#x6E05;&#x7A7A;Microtask Queue
&#x66F4;&#x65B0; render
&#x4E3B;&#x7EBF;&#x7A0B;&#x91CD;&#x590D;&#x6267;&#x884C;&#x4E0A;&#x8FF0;&#x6B65;&#x9AA4;
&#x90A3;&#x4E48;&#xFF0C;&#x4EC0;&#x4E48;&#x662F; microtasks ?&#x89C4;&#x8303;&#x4E2D;&#x89C4;&#x5B9A;&#xFF0C;task&#x5206;&#x4E3A;&#x4E24;&#x5927;&#x7C7B;, &#x5206;&#x522B;&#x662F; Macro Task &#xFF08;&#x5B8F;&#x4EFB;&#x52A1;&#xFF09;&#x548C; Micro Task&#xFF08;&#x5FAE;&#x4EFB;&#x52A1;&#xFF09;, &#x5E76;&#x4E14;&#x6BCF;&#x4E2A;&#x5B8F;&#x4EFB;&#x52A1;&#x7ED3;&#x675F;&#x540E;, &#x90FD;&#x8981;&#x6E05;&#x7A7A;&#x6240;&#x6709;&#x7684;&#x5FAE;&#x4EFB;&#x52A1;,&#x8FD9;&#x91CC;&#x7684; Macro Task&#x4E5F;&#x662F;&#x6211;&#x4EEC;&#x5E38;&#x8BF4;&#x7684; task &#x3002;

(macro)task &#x4E3B;&#x8981;&#x5305;&#x542B;&#xFF1A;script( &#x6574;&#x4F53;&#x4EE3;&#x7801;)&#x3001;setTimeout&#x3001;setInterval&#x3001;I/O&#x3001;UI &#x4EA4;&#x4E92;&#x4E8B;&#x4EF6;&#x3001;setImmediate(Node.js &#x73AF;&#x5883;)

microtask&#x4E3B;&#x8981;&#x5305;&#x542B;&#xFF1A;<span class="hljs-built_in">Promise</span>&#x3001;MutaionObserver&#x3001;process.nextTick(Node.js &#x73AF;&#x5883;)

&#x6574;&#x4F53; script &#x4F5C;&#x4E3A;&#x7B2C;&#x4E00;&#x4E2A;&#x5B8F;&#x4EFB;&#x52A1;&#x8FDB;&#x5165;&#x4E3B;&#x7EBF;&#x7A0B;&#xFF0C;&#x9047;&#x5230; <span class="hljs-built_in">console</span>.log&#xFF0C;&#x8F93;&#x51FA; script start
&#x9047;&#x5230; setTimeout&#xFF0C;&#x5176;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x88AB;&#x5206;&#x53D1;&#x5230;&#x5B8F;&#x4EFB;&#x52A1; Event Queue &#x4E2D;
&#x9047;&#x5230; <span class="hljs-built_in">Promise</span>&#xFF0C;&#x5176; then&#x51FD;&#x6570;&#x88AB;&#x5206;&#x5230;&#x5230;&#x5FAE;&#x4EFB;&#x52A1; Event Queue &#x4E2D;,&#x8BB0;&#x4E3A; then1&#xFF0C;&#x4E4B;&#x540E;&#x53C8;&#x9047;&#x5230;&#x4E86; then &#x51FD;&#x6570;&#xFF0C;&#x5C06;&#x5176;&#x5206;&#x5230;&#x5FAE;&#x4EFB;&#x52A1; Event Queue &#x4E2D;&#xFF0C;&#x8BB0;&#x4E3A; then2
&#x9047;&#x5230; <span class="hljs-built_in">console</span>.log&#xFF0C;&#x8F93;&#x51FA; script end
&#x81F3;&#x6B64;&#xFF0C;Event Queue &#x4E2D;&#x5B58;&#x5728;&#x4E09;&#x4E2A;&#x4EFB;&#x52A1;&#xFF0C;&#x5982;&#x4E0B;&#x8868;&#xFF1A;

&#x5B8F;&#x4EFB;&#x52A1;    &#x5FAE;&#x4EFB;&#x52A1;
setTimeout    then1
-    then2
&#x6267;&#x884C;&#x5FAE;&#x4EFB;&#x52A1;&#xFF0C;&#x9996;&#x5148;&#x6267;&#x884C;then1&#xFF0C;&#x8F93;&#x51FA; promise1, &#x7136;&#x540E;&#x6267;&#x884C; then2&#xFF0C;&#x8F93;&#x51FA; promise2&#xFF0C;&#x8FD9;&#x6837;&#x5C31;&#x6E05;&#x7A7A;&#x4E86;&#x6240;&#x6709;&#x5FAE;&#x4EFB;&#x52A1;
&#x6B64;&#x65F6;&#xFF0C;&#x6240;&#x6709;&#x7684;mircotask&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#xFF0C;&#x672C;&#x8F6E;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x7ED3;&#x675F;&#xFF0C;UI &#x5F00;&#x59CB; render&#xFF0C;&#x5F53; UI render &#x5B8C;&#x6BD5;&#xFF0C;&#x5F00;&#x59CB;&#x4E0B;&#x4E00;&#x8F6E;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;.
&#x6267;&#x884C; setTimeout &#x4EFB;&#x52A1;&#xFF0C;&#x8F93;&#x51FA; setTimeout, &#x81F3;&#x6B64;&#xFF0C;&#x8F93;&#x51FA;&#x7684;&#x987A;&#x5E8F;&#x662F;&#xFF1A;script start, script end, promise1, promise2, setTimeout

UI&#x6E32;&#x67D3;
&#x6839;&#x636E;HTML Standard&#xFF0C;&#x4E00;&#x8F6E;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6267;&#x884C;&#x7ED3;&#x675F;&#x4E4B;&#x540E;&#xFF0C;&#x4E0B;&#x8F6E;&#x4E8B;&#x4EF6;&#x5FAA;&#x73AF;&#x6267;&#x884C;&#x4E4B;&#x524D;&#x5F00;&#x59CB;&#x8FDB;&#x884C; UI render&#x3002;&#x5373;&#xFF1A;macro-task&#x4EFB;&#x52A1;&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#xFF0C;&#x63A5;&#x7740;&#x6267;&#x884C;&#x5B8C;&#x6240;&#x6709;&#x7684;micro-task&#x4EFB;&#x52A1;&#x540E;&#xFF0C;&#x6B64;&#x65F6;&#x672C;&#x8F6E;&#x5FAA;&#x73AF;&#x7ED3;&#x675F;&#xFF0C;&#x5F00;&#x59CB;&#x6267;&#x884C;UI render&#x3002;UI render&#x5B8C;&#x6BD5;&#x4E4B;&#x540E;&#x63A5;&#x7740;&#x4E0B;&#x4E00;&#x8F6E;&#x5FAA;&#x73AF;&#x3002;
</code></pre>
                                    <h3
                                        id="83-&#x2605;&#x2605;&#x2605;&#x2605;-&#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;">
                                        <a name="83-&#x2605;&#x2605;&#x2605;&#x2605;-&#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#83-&#x2605;&#x2605;&#x2605;&#x2605;-&#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="83-&#x2605;&#x2605;&#x2605;&#x2605;-&#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#83-&#x2605;&#x2605;&#x2605;&#x2605;-&#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-83"> 83. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x539F;&#x7406;&#xFF1A;&#x968F;&#x7740;&#x6EDA;&#x8F6E;&#x6EDA;&#x52A8;&#xFF0C;&#x5E95;&#x90E8;&#x7684;&#x56FE;&#x7247;&#x4F1A;&#x88AB;&#x4E0D;&#x65AD;&#x5730;&#x52A0;&#x8F7D;&#xFF0C;&#x4ECE;&#x800C;&#x663E;&#x793A;&#x5728;&#x9875;&#x9762;&#x4E0A;&#xFF0C;&#x6309;&#x9700;&#x52A0;&#x8F7D;&#xFF0C;&#x5F53;&#x9875;&#x9762;&#x9700;&#x8981;&#x663E;&#x793A;&#x56FE;&#x7247;&#x7684;&#x65F6;&#x5019;&#x624D;&#x8FDB;&#x884C;&#x52A0;&#x8F7D;&#xFF0C;&#x5426;&#x5219;&#x4E0D;&#x52A0;&#x8F7D;

<span class="hljs-number">1.</span> &#x9875;&#x9762;&#x52A0;&#x8F7D;&#x5B8C;&#x6210;&#x65F6;&#x8BB0;&#x5F55;&#x6BCF;&#x4E2A;img&#x6807;&#x7B7E;&#x7684;src&#x503C;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;
<span class="hljs-number">2.</span> &#x7528;&#x9F20;&#x6807;&#x6EDA;&#x8F6E;&#x5224;&#x65AD;&#x56FE;&#x7247;&#x662F;&#x5426;&#x51FA;&#x73B0;&#x5728;&#x5C4F;&#x5E55;&#xFF0C;&#x5982;&#x679C;&#x662F;&#xFF0C;&#x5219;&#x628A;&#x8BB0;&#x5F55;&#x7684;src&#x503C;&#x8D4B;&#x503C;&#x7ED9;src&#x5C5E;&#x6027;
<span class="hljs-number">3.</span> &#x7136;&#x540E;&#x8BA9;image&#x7684;src&#x6765;&#x53D1;&#x8D77;&#x8BF7;&#x6C42;&#xFF0C;&#x83B7;&#x53D6;&#x5BF9;&#x5E94;&#x7684;&#x56FE;&#x7247;&#x653E;&#x7F6E;&#x5230;DOM&#x6811;&#x7684;&#x8FD9;&#x4E2A;&#x4F4D;&#x7F6E;&#x4E0A;&#xFF0C;&#x4ECE;&#x800C;&#x5B9E;&#x73B0;&#x56FE;&#x7247;&#x7684;&#x9875;&#x9762;&#x6E32;&#x67D3;&#xFF01;
&#x4E8E;&#x662F;&#x5C31;&#x53EF;&#x4EE5;&#x77E5;&#x9053;&#xFF0C;&#x5F53;&#x8FDB;&#x5165;&#x9875;&#x9762;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5176;&#x5B9E;&#x6211;&#x4EEC;&#x5DF2;&#x7ECF;&#x628A;&#x6240;&#x6709;&#x7684;&#x56FE;&#x7247;&#x7684;&#x8FD9;&#x4E2A;&#x5730;&#x5740;&#x4FE1;&#x606F;&#x62FF;&#x5230;&#x4E86;&#xFF0C;&#x56FE;&#x7247;&#x61D2;&#x52A0;&#x8F7D;&#x7684;&#x4F5C;&#x7528;&#x5C31;&#x662F;&#x8BA9;&#x8FD9;&#x4E2A;&#x56FE;&#x7247;&#x7684;src&#x6309;&#x9700;&#x53D1;&#x8D77;&#x8BF7;&#x6C42;&#xFF0C;&#x83B7;&#x53D6;&#x56FE;&#x7247;&#x3002;
</code></pre>
                                    <h3
                                        id="84-&#x2605;&#x2605;-for-in-&#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;">
                                        <a name="84-&#x2605;&#x2605;-for-in-&#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#84-&#x2605;&#x2605;-for-in-&#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="84-&#x2605;&#x2605;-for-in-&#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;"
                                            class="plugin-anchor"
                                            href="#84-&#x2605;&#x2605;-for-in-&#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-84"> 84. &#x2605;&#x2605; for-in
                                            &#x5FAA;&#x73AF;&#x4F1A;&#x904D;&#x5386;&#x51FA;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#x5417;&#xFF1F;&#x600E;&#x4E48;&#x907F;&#x514D;&#x904D;&#x5386;&#x5230;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x5C5E;&#x6027;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x4F7F;&#x7528; <span class="hljs-keyword">for</span> <span class="hljs-keyword">in</span> &#x5FAA;&#x73AF;&#x904D;&#x5386;&#x5BF9;&#x8C61;&#x7684;&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x539F;&#x578B;&#x94FE;&#x4E0A;&#x7684;&#x6240;&#x6709;&#x5C5E;&#x6027;&#x90FD;&#x5C06;&#x88AB;&#x8BBF;&#x95EE;

&#x53EA;&#x904D;&#x5386;&#x5BF9;&#x8C61;&#x81EA;&#x8EAB;&#x7684;&#x5C5E;&#x6027;&#xFF0C;&#x800C;&#x4E0D;&#x904D;&#x5386;&#x7EE7;&#x627F;&#x4E8E;&#x539F;&#x578B;&#x94FE;&#x4E0A;&#x7684;&#x5C5E;&#x6027;&#xFF0C;&#x9700;&#x8981;&#x4F7F;&#x7528;hasOwnProperty &#x65B9;&#x6CD5;&#x8FC7;&#x6EE4;&#x4E00;&#x4E0B;&#x3002;
<span class="hljs-built_in">Object</span>.prototype.say=<span class="hljs-string">&quot;cgl&quot;</span>;
    <span class="hljs-keyword">var</span> person ={
        age: <span class="hljs-number">18</span>
    };
    <span class="hljs-keyword">for</span> (<span class="hljs-keyword">var</span> key <span class="hljs-keyword">in</span> person) {
        <span class="hljs-keyword">if</span>(person.hasOwnProperty(key)){
            <span class="hljs-built_in">console</span>.log(key, <span class="hljs-built_in">eval</span>(<span class="hljs-string">&quot;person.&quot;</span>+key));
        }
    }
</code></pre>
                                    <h3
                                        id="85-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call-&#x548C;-apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;">
                                        <a name="85-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call-&#x548C;-apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#85-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call-&#x548C;-apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="85-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call-&#x548C;-apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#85-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call-&#x548C;-apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-85"> 85. &#x2605;&#x2605;&#x2605;
                                            &#x7B80;&#x8FF0;call&#x3001;apply&#x3001;bind&#xFF0C;call &#x548C;
                                            apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1</span>&#x3001;call()
call() &#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x4E00;&#x4E2A;&#x51FD;&#x6570;, &#x5176;&#x5177;&#x6709;&#x4E00;&#x4E2A;&#x6307;&#x5B9A;&#x7684; <span class="hljs-keyword">this</span>&#x503C;&#x548C;&#x5206;&#x522B;&#x5730;&#x63D0;&#x4F9B;&#x7684;&#x53C2;&#x6570;(&#x53C2;&#x6570;&#x7684;&#x5217;&#x8868;)&#x3002; &#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#xFF1A;&#x5728; fun &#x51FD;&#x6570;&#x8FD0;&#x884C;&#x65F6;&#x6307;&#x5B9A;&#x7684; <span class="hljs-keyword">this</span> &#x503C;;&#x5982;&#x679C;&#x6307;&#x5B9A;&#x4E86; <span class="hljs-literal">null</span> &#x6216;&#x8005; <span class="hljs-literal">undefined</span> &#x5219;&#x5185;&#x90E8; <span class="hljs-keyword">this</span> &#x6307;&#x5411; <span class="hljs-built_in">window</span>&#xFF0C;&#x540E;&#x9762;&#x7684;&#x53C2;&#x6570;&#xFF1A;&#x6307;&#x5B9A;&#x7684;&#x53C2;&#x6570;&#x5217;&#x8868;

<span class="hljs-keyword">var</span> fn = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">arg1, arg2</span>) </span>{   
};
fn.call(<span class="hljs-keyword">this</span>, arg1, arg2);

<span class="hljs-keyword">var</span>  numbers = [<span class="hljs-number">5</span>, <span class="hljs-number">458</span> , <span class="hljs-number">120</span> , <span class="hljs-number">-215</span> ]; 
<span class="hljs-keyword">var</span> maxInNumbers = <span class="hljs-built_in">Math</span>.max.call(<span class="hljs-built_in">Math</span>,<span class="hljs-number">5</span>, <span class="hljs-number">458</span> , <span class="hljs-number">120</span> , <span class="hljs-number">-215</span>); <span class="hljs-comment">//&#x83B7;&#x53D6;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x6700;&#x5927;&#x503C;458</span>

<span class="hljs-number">2</span>&#x3001;apply()
apply()&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x4E00;&#x4E2A;&#x51FD;&#x6570;, &#x5176;&#x5177;&#x6709;&#x4E00;&#x4E2A;&#x6307;&#x5B9A;&#x7684; <span class="hljs-keyword">this</span> &#x503C;&#xFF0C;&#x4EE5;&#x53CA;&#x4F5C;&#x4E3A;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#xFF08;&#x6216;&#x7C7B;&#x4F3C;&#x6570;&#x7EC4;&#x7684;&#x5BF9;&#x8C61;&#xFF09;&#x63D0;&#x4F9B;&#x7684;&#x53C2;&#x6570;&#x3002;apply() &#x4E0E; call() &#x975E;&#x5E38;&#x76F8;&#x4F3C;&#xFF0C;&#x4E0D;&#x540C;&#x4E4B;&#x5904;&#x5728;&#x4E8E;&#x63D0;&#x4F9B;&#x53C2;&#x6570;&#x7684;&#x65B9;&#x5F0F;&#x3002;apply() &#x4F7F;&#x7528;&#x53C2;&#x6570;&#x6570;&#x7EC4;&#x800C;&#x4E0D;&#x662F;&#x4E00;&#x7EC4;&#x53C2;&#x6570;&#x5217;&#x8868;&#x3002;

<span class="hljs-keyword">var</span> fn = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">arg1, arg2</span>) </span>{   
};
fn.apply(<span class="hljs-keyword">this</span>, [arg1, arg2])

<span class="hljs-keyword">var</span>  numbers = [<span class="hljs-number">5</span>, <span class="hljs-number">458</span> , <span class="hljs-number">120</span> , <span class="hljs-number">-215</span> ]; 
<span class="hljs-comment">//umber &#x672C;&#x8EAB;&#x6CA1;&#x6709; max &#x65B9;&#x6CD5;&#xFF0C;&#x4F46;&#x662F; Math &#x6709;&#xFF0C;&#x6211;&#x4EEC;&#x5C31;&#x53EF;&#x4EE5;&#x501F;&#x52A9; call &#x6216;&#x8005; apply &#x4F7F;&#x7528;&#x5176;&#x65B9;&#x6CD5;&#x3002;</span>
<span class="hljs-keyword">var</span> maxInNumbers = <span class="hljs-built_in">Math</span>.max.apply(<span class="hljs-built_in">Math</span>, numbers),   <span class="hljs-comment">//&#x83B7;&#x53D6;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x6700;&#x5927;&#x503C;458</span>

<span class="hljs-number">3</span>&#x3001;bind()
bind() &#x51FD;&#x6570;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x51FD;&#x6570;&#xFF08;&#x79F0;&#x4E3A;&#x7ED1;&#x5B9A;&#x51FD;&#x6570;&#xFF09;&#xFF0C;&#x65B0;&#x51FD;&#x6570;&#x4E0E;&#x88AB;&#x8C03;&#x51FD;&#x6570;&#xFF08;&#x7ED1;&#x5B9A;&#x51FD;&#x6570;&#x7684;&#x76EE;&#x6807;&#x51FD;&#x6570;&#xFF09;&#x5177;&#x6709;&#x76F8;&#x540C;&#x7684;&#x51FD;&#x6570;&#x4F53;&#xFF08;&#x5728; ECMAScript <span class="hljs-number">5</span> &#x89C4;&#x8303;&#x4E2D;&#x5185;&#x7F6E;&#x7684;call&#x5C5E;&#x6027;&#xFF09;&#x3002;
&#x5F53;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x88AB;&#x8C03;&#x7528;&#x65F6; <span class="hljs-keyword">this</span> &#x503C;&#x7ED1;&#x5B9A;&#x5230; bind() &#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x8BE5;&#x53C2;&#x6570;&#x4E0D;&#x80FD;&#x88AB;&#x91CD;&#x5199;&#x3002;&#x7ED1;&#x5B9A;&#x51FD;&#x6570;&#x88AB;&#x8C03;&#x7528;&#x65F6;&#xFF0C;bind() &#x4E5F;&#x63A5;&#x53D7;&#x9884;&#x8BBE;&#x7684;&#x53C2;&#x6570;&#x63D0;&#x4F9B;&#x7ED9;&#x539F;&#x51FD;&#x6570;&#x3002;
&#x4E00;&#x4E2A;&#x7ED1;&#x5B9A;&#x51FD;&#x6570;&#x4E5F;&#x80FD;&#x4F7F;&#x7528;<span class="hljs-keyword">new</span>&#x64CD;&#x4F5C;&#x7B26;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#xFF1A;&#x8FD9;&#x79CD;&#x884C;&#x4E3A;&#x5C31;&#x50CF;&#x628A;&#x539F;&#x51FD;&#x6570;&#x5F53;&#x6210;&#x6784;&#x9020;&#x5668;&#x3002;&#x63D0;&#x4F9B;&#x7684; <span class="hljs-keyword">this</span> &#x503C;&#x88AB;&#x5FFD;&#x7565;&#xFF0C;&#x540C;&#x65F6;&#x8C03;&#x7528;&#x65F6;&#x7684;&#x53C2;&#x6570;&#x88AB;&#x63D0;&#x4F9B;&#x7ED9;&#x6A21;&#x62DF;&#x51FD;&#x6570;&#x3002;

<span class="hljs-comment">/* ------call &#x548C; apply&#x54EA;&#x4E2A;&#x6027;&#x80FD;&#x66F4;&#x597D;&#xFF1F;------ */</span>
call&#x7684;&#x6027;&#x80FD;&#x8981;&#x6BD4;apply&#x597D;&#x4E00;&#x4E9B;&#xFF0C;&#x5C24;&#x5176;&#x662F;&#x4F20;&#x9012;&#x7ED9;&#x51FD;&#x6570;&#x7684;&#x53C2;&#x6570;&#x8D85;&#x8FC7;<span class="hljs-number">3</span>&#x4E2A;&#x65F6;&#x6240;&#x4EE5;&#x540E;&#x671F;&#x5F00;&#x53D1;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;call&#x591A;&#x4E00;&#x4E9B;
&#xFF08;&#x4F20;&#x53C2;&#x6570;<span class="hljs-number">3</span>&#x4E2A;&#x4EE5;&#x5185;&#x7684;&#x8BDD;&#xFF0C;call&#x548C;apply&#x6027;&#x80FD;&#x5DEE;&#x4E0D;&#x591A;&#xFF0C;&#x8D85;&#x8FC7;<span class="hljs-number">3</span>&#x4E2A;&#x4EE5;&#x4E0A;call&#x66F4;&#x597D;&#x4E00;&#x4E9B;&#xFF09;
</code></pre>
                                    <h3
                                        id="86-&#x2605;&#x2605;-es6-&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;">
                                        <a name="86-&#x2605;&#x2605;-es6-&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#86-&#x2605;&#x2605;-es6-&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="86-&#x2605;&#x2605;-es6-&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#86-&#x2605;&#x2605;-es6-&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-86"> 86. &#x2605;&#x2605; ES6
                                            &#x7BAD;&#x5934;&#x51FD;&#x6570;&#x548C;&#x666E;&#x901A;&#x51FD;&#x6570;&#x6709;&#x4EC0;&#x4E48;&#x5DEE;&#x5F02;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x76F8;&#x6BD4;&#x666E;&#x901A;&#x51FD;&#x6570;&#x66F4;&#x7B80;&#x6D01;&#x7684;&#x8BED;&#x6CD5;
<span class="hljs-number">2.</span> &#x6CA1;&#x6709;<span class="hljs-keyword">this</span>,&#x6355;&#x83B7;&#x5176;&#x6240;&#x5728;&#x4E0A;&#x4E0B;&#x6587;&#x7684; <span class="hljs-keyword">this</span> &#x503C;&#xFF0C;&#x4F5C;&#x4E3A;&#x81EA;&#x5DF1;&#x7684; <span class="hljs-keyword">this</span> &#x503C;
<span class="hljs-number">3.</span> &#x4E0D;&#x80FD;&#x4F7F;&#x7528;<span class="hljs-keyword">new</span>,&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x4F5C;&#x4E3A;&#x533F;&#x540D;&#x51FD;&#x6570;,&#x662F;&#x4E0D;&#x80FD;&#x4F5C;&#x4E3A;&#x6784;&#x9020;&#x51FD;&#x6570;&#x7684;,&#x4E0D;&#x80FD;&#x4F7F;&#x7528;<span class="hljs-keyword">new</span>
<span class="hljs-number">4.</span> &#x4E0D;&#x7ED1;&#x5B9A;<span class="hljs-built_in">arguments</span>&#xFF0C;&#x7528;rest&#x53C2;&#x6570;...&#x89E3;&#x51B3;
    <span class="hljs-keyword">let</span> test3=(...a)=&gt;{<span class="hljs-built_in">console</span>.log(a[<span class="hljs-number">1</span>])} <span class="hljs-comment">//22</span>
<span class="hljs-number">5.</span> &#x4F7F;&#x7528;call()&#x548C;apply()&#x8C03;&#x7528;:&#x7531;&#x4E8E; <span class="hljs-keyword">this</span> &#x5DF2;&#x7ECF;&#x5728;&#x8BCD;&#x6CD5;&#x5C42;&#x9762;&#x5B8C;&#x6210;&#x4E86;&#x7ED1;&#x5B9A;&#xFF0C;&#x901A;&#x8FC7; call() &#x6216; apply() &#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x65F6;&#xFF0C;&#x53EA;&#x662F;&#x4F20;&#x5165;&#x4E86;&#x53C2;&#x6570;&#x800C;&#x5DF2;&#xFF0C;&#x5BF9; <span class="hljs-keyword">this</span> &#x5E76;&#x6CA1;&#x6709;&#x4EC0;&#x4E48;&#x5F71;&#x54CD;&#xFF1A;
<span class="hljs-number">6.</span> &#x7BAD;&#x5934;&#x51FD;&#x6570;&#x6CA1;&#x6709;&#x539F;&#x578B;&#x5C5E;&#x6027;
<span class="hljs-number">7.</span> &#x4E0D;&#x80FD;&#x7B80;&#x5355;&#x8FD4;&#x56DE;&#x5BF9;&#x8C61;&#x5B57;&#x9762;&#x91CF;
    <span class="hljs-keyword">let</span> fun5 = ()=&gt;({ foo: x })   <span class="hljs-comment">//&#x5982;&#x679C;x =&gt; { foo: x }  //&#x5219;&#x8BED;&#x6CD5;&#x51FA;&#x9519;</span>
<span class="hljs-number">8.</span> &#x7BAD;&#x5934;&#x51FD;&#x6570;&#x4E0D;&#x80FD;&#x5F53;&#x505A;Generator&#x51FD;&#x6570;,&#x4E0D;&#x80FD;&#x4F7F;&#x7528;<span class="hljs-keyword">yield</span>&#x5173;&#x952E;&#x5B57;
<span class="hljs-number">9.</span> &#x7BAD;&#x5934;&#x51FD;&#x6570;&#x4E0D;&#x80FD;&#x6362;&#x884C;
    <span class="hljs-keyword">let</span> a = ()
          =&gt;<span class="hljs-number">1</span>; <span class="hljs-comment">//SyntaxError: Unexpected token =&gt;</span>
</code></pre>
                                    <h3
                                        id="87-&#x2605;&#x2605;&#x2605;-promise-&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="87-&#x2605;&#x2605;&#x2605;-promise-&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#87-&#x2605;&#x2605;&#x2605;-promise-&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="87-&#x2605;&#x2605;&#x2605;-promise-&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#87-&#x2605;&#x2605;&#x2605;-promise-&#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-87"> 87. &#x2605;&#x2605;&#x2605; Promise
                                            &#x907F;&#x514D;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x8BED;&#x6CD5;&#x7CD6;--&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x89E3;&#x51B3;&#x56DE;&#x8C03;&#x5730;&#x72F1;&#x7684;&#x7EC8;&#x6781;&#x65B9;&#x6CD5; <span class="hljs-keyword">async</span>/<span class="hljs-keyword">await</span> ES7&#x7684;&#x8BED;&#x6CD5;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <span class="hljs-keyword">async</span>/<span class="hljs-keyword">await</span>&#x8BA9;&#x4EE3;&#x7801;&#x770B;&#x8D77;&#x6765;&#x50CF;&#x540C;&#x6B65;&#x7684;
<span class="hljs-keyword">async</span>&#x5F02;&#x6B65; <span class="hljs-keyword">await</span>&#x7B49;&#x5F85;
<span class="hljs-keyword">await</span> &#x7B49;&#x5F85; &#x5C31;&#x662F;&#x5F53;&#x540E;&#x9762;&#x8DDF;&#x7684;&#x662F;promise&#x5BF9;&#x8C61;&#xFF0C;&#x5C31;&#x8BA9;&#x4ED6;&#x505C;&#x6B62; &#xFF0C;&#x5148;&#x8BA9;&#x91CC;&#x9762;&#x7684;&#x5F02;&#x6B65;&#x4E8B;&#x60C5;&#x505A;&#x5B8C;&#xFF0C;&#x5728;&#x628A;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#x7ED9;&#x524D;&#x9762;&#x7684;&#x65B0;&#x53D8;&#x91CF;&#xFF0C;&#x5728;&#x7EE7;&#x7EED;&#x5411;&#x540E;&#x6267;&#x884C;
&#x4ED6;&#x53EA;&#x751F;&#x6548;&#x5F53;&#x524D;&#x4F5C;&#x7528;&#x57DF;&#x5185;&#x90E8;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;<span class="hljs-keyword">async</span>&#x51FD;&#x6570;&#x5185;&#x90E8;&#x3002;

&#x5B9E;&#x73B0;&#x94FE;&#x5F0F;&#x8C03;&#x7528;&#x7684;&#x6838;&#x5FC3;&#x70B9;:
&#x5728; then &#x4E2D;&#x65B0;&#x521B;&#x5EFA;&#x7684; <span class="hljs-built_in">Promise</span>&#xFF0C;&#x5B83;&#x7684;&#x72B6;&#x6001;&#x53D8;&#x4E3A; fulfilled &#x7684;&#x8282;&#x70B9;&#x662F;&#x5728;&#x4E0A;&#x4E00;&#x4E2A; <span class="hljs-built_in">Promise</span>&#x7684;&#x56DE;&#x8C03;&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#x7684;&#x65F6;&#x5019;&#x3002;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#x5F53;&#x4E00;&#x4E2A; <span class="hljs-built_in">Promise</span> &#x7684;&#x72B6;&#x6001;&#x88AB; fulfilled &#x4E4B;&#x540E;&#xFF0C;&#x4F1A;&#x6267;&#x884C;&#x5176;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#xFF0C;&#x800C;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x8FD4;&#x56DE;&#x7684;&#x7ED3;&#x679C;&#x4F1A;&#x88AB;&#x5F53;&#x4F5C; value&#xFF0C;&#x8FD4;&#x56DE;&#x7ED9;&#x4E0B;&#x4E00;&#x4E2A; <span class="hljs-built_in">Promise</span>(&#x4E5F;&#x5C31;&#x662F;then &#x4E2D;&#x4EA7;&#x751F;&#x7684; <span class="hljs-built_in">Promise</span>)&#xFF0C;&#x540C;&#x65F6;&#x4E0B;&#x4E00;&#x4E2A; <span class="hljs-built_in">Promise</span>&#x7684;&#x72B6;&#x6001;&#x4E5F;&#x4F1A;&#x88AB;&#x6539;&#x53D8;(&#x6267;&#x884C; resolve &#x6216; reject)&#xFF0C;&#x7136;&#x540E;&#x518D;&#x53BB;&#x6267;&#x884C;&#x5176;&#x56DE;&#x8C03;,&#x4EE5;&#x6B64;&#x7C7B;&#x63A8;&#x4E0B;&#x53BB;&#x2026;
</code></pre>
                                    <h3
                                        id="88-&#x2605;&#x2605;&#x2605;-&#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="88-&#x2605;&#x2605;&#x2605;-&#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#88-&#x2605;&#x2605;&#x2605;-&#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="88-&#x2605;&#x2605;&#x2605;-&#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#88-&#x2605;&#x2605;&#x2605;-&#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-88"> 88. &#x2605;&#x2605;&#x2605;
                                            &#x8FDB;&#x7A0B;&#x7EBF;&#x7A0B;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x4EC0;&#x4E48;&#x662F;&#x8FDB;&#x7A0B;&#xFF1F;&#x4EC0;&#x4E48;&#x662F;&#x7EBF;&#x7A0B;&#xFF1F;
&#x8FDB;&#x7A0B;&#x662F;&#x7CFB;&#x7EDF;&#x4E2D;&#x6B63;&#x5728;&#x8FD0;&#x884C;&#x7684;&#x4E00;&#x4E2A;&#x7A0B;&#x5E8F;&#xFF0C;&#x7A0B;&#x5E8F;&#x4E00;&#x65E6;&#x8FD0;&#x884C;&#x5C31;&#x662F;&#x8FDB;&#x7A0B;&#x3002;

&#x8FDB;&#x7A0B;&#x53EF;&#x4EE5;&#x770B;&#x6210;&#x7A0B;&#x5E8F;&#x6267;&#x884C;&#x7684;&#x4E00;&#x4E2A;&#x5B9E;&#x4F8B;&#x3002;&#x8FDB;&#x7A0B;&#x662F;&#x7CFB;&#x7EDF;&#x8D44;&#x6E90;&#x5206;&#x914D;&#x7684;&#x72EC;&#x7ACB;&#x5B9E;&#x4F53;&#xFF0C;&#x6BCF;&#x4E2A;&#x8FDB;&#x7A0B;&#x90FD;&#x62E5;&#x6709;&#x72EC;&#x7ACB;&#x7684;&#x5730;&#x5740;&#x7A7A;&#x95F4;&#x3002;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x65E0;&#x6CD5;&#x8BBF;&#x95EE;&#x53E6;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x7684;&#x53D8;&#x91CF;&#x548C;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;&#x5982;&#x679C;&#x60F3;&#x8BA9;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x8BBF;&#x95EE;&#x53E6;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x7684;&#x8D44;&#x6E90;&#xFF0C;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x8FDB;&#x7A0B;&#x95F4;&#x901A;&#x4FE1;&#xFF0C;&#x6BD4;&#x5982;&#x7BA1;&#x9053;&#xFF0C;&#x6587;&#x4EF6;&#xFF0C;&#x5957;&#x63A5;&#x5B57;&#x7B49;&#x3002;

&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x53EF;&#x4EE5;&#x62E5;&#x6709;&#x591A;&#x4E2A;&#x7EBF;&#x7A0B;&#xFF0C;&#x6BCF;&#x4E2A;&#x7EBF;&#x7A0B;&#x4F7F;&#x7528;&#x5176;&#x6240;&#x5C5E;&#x8FDB;&#x7A0B;&#x7684;&#x6808;&#x7A7A;&#x95F4;&#x3002;&#x7EBF;&#x7A0B;&#x4E0E;&#x8FDB;&#x7A0B;&#x7684;&#x4E00;&#x4E2A;&#x4E3B;&#x8981;&#x533A;&#x522B;&#x662F;&#xFF0C;&#x7EDF;&#x4E00;&#x8FDB;&#x7A0B;&#x5185;&#x7684;&#x4E00;&#x4E2A;&#x4E3B;&#x8981;&#x533A;&#x522B;&#x662F;&#xFF0C;&#x540C;&#x4E00;&#x8FDB;&#x7A0B;&#x5185;&#x7684;&#x591A;&#x4E2A;&#x7EBF;&#x7A0B;&#x4F1A;&#x5171;&#x4EAB;&#x90E8;&#x5206;&#x72B6;&#x6001;&#xFF0C;&#x591A;&#x4E2A;&#x7EBF;&#x7A0B;&#x53EF;&#x4EE5;&#x8BFB;&#x5199;&#x540C;&#x4E00;&#x5757;&#x5185;&#x5B58;&#xFF08;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x65E0;&#x6CD5;&#x76F4;&#x63A5;&#x8BBF;&#x95EE;&#x53E6;&#x4E00;&#x8FDB;&#x7A0B;&#x7684;&#x5185;&#x5B58;&#xFF09;&#x3002;&#x540C;&#x65F6;&#xFF0C;&#x6BCF;&#x4E2A;&#x7EBF;&#x7A0B;&#x8FD8;&#x62E5;&#x6709;&#x81EA;&#x5DF1;&#x7684;&#x5BC4;&#x5B58;&#x5668;&#x548C;&#x6808;&#xFF0C;&#x5176;&#x4ED6;&#x7EBF;&#x7A0B;&#x53EF;&#x4EE5;&#x8BFB;&#x5199;&#x8FD9;&#x4E9B;&#x6808;&#x5185;&#x5B58;&#x3002;

&#x7EBF;&#x7A0B;&#x662F;&#x8FDB;&#x7A0B;&#x7684;&#x4E00;&#x4E2A;&#x5B9E;&#x4F53;&#xFF0C;&#x662F;&#x8FDB;&#x7A0B;&#x7684;&#x4E00;&#x6761;&#x6267;&#x884C;&#x8DEF;&#x5F84;&#x3002;

&#x7EBF;&#x7A0B;&#x662F;&#x8FDB;&#x7A0B;&#x7684;&#x4E00;&#x4E2A;&#x7279;&#x5B9A;&#x6267;&#x884C;&#x8DEF;&#x5F84;&#x3002;&#x5F53;&#x4E00;&#x4E2A;&#x7EBF;&#x7A0B;&#x4FEE;&#x6539;&#x4E86;&#x8FDB;&#x7A0B;&#x7684;&#x8D44;&#x6E90;&#xFF0C;&#x5B83;&#x7684;&#x5144;&#x5F1F;&#x7EBF;&#x7A0B;&#x53EF;&#x4EE5;&#x7ACB;&#x5373;&#x770B;&#x5230;&#x8FD9;&#x79CD;&#x53D8;&#x5316;&#x3002;

&#x8FDB;&#x7A0B;&#x548C;&#x7EBF;&#x7A0B;&#x7684;&#x533A;&#x522B;&#x4F53;&#x73B0;&#x5728;&#x4EE5;&#x4E0B;&#x51E0;&#x4E2A;&#x65B9;&#x9762;&#xFF1A;
<span class="hljs-number">1.</span>&#x5730;&#x5740;&#x7A7A;&#x95F4;&#x548C;&#x5176;&#x4ED6;&#x8D44;&#x6E90;&#xFF08;&#x5982;&#x6253;&#x5F00;&#x6587;&#x4EF6;&#xFF09;&#xFF1A;&#x8FDB;&#x7A0B;&#x95F4;&#x76F8;&#x4E92;&#x72EC;&#x7ACB;&#xFF0C;&#x540C;&#x4E00;&#x8FDB;&#x7A0B;&#x7684;&#x5404;&#x7EBF;&#x7A0B;&#x95F4;&#x5171;&#x4EAB;&#x3002;&#x67D0;&#x8FDB;&#x7A0B;&#x5185;&#x7684;&#x7EBF;&#x7A0B;&#x5728;&#x5176;&#x4ED6;&#x8FDB;&#x7A0B;&#x5185;&#x4E0D;&#x53EF;&#x89C1;&#x3002;

<span class="hljs-number">2.</span>&#x901A;&#x4FE1;&#xFF1A;&#x8FDB;&#x7A0B;&#x95F4;&#x901A;&#x4FE1;IPC&#xFF08;&#x7BA1;&#x9053;&#xFF0C;&#x4FE1;&#x53F7;&#x91CF;&#xFF0C;&#x5171;&#x4EAB;&#x5185;&#x5B58;&#xFF0C;&#x6D88;&#x606F;&#x961F;&#x5217;&#xFF09;&#xFF0C;&#x7EBF;&#x7A0B;&#x95F4;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x72EC;&#x5199;&#x8FDB;&#x7A0B;&#x6570;&#x636E;&#x6BB5;&#xFF08;&#x5982;&#x5168;&#x5C40;&#x53D8;&#x91CF;&#xFF09;&#x6765;&#x8FDB;&#x7A0B;&#x901A;&#x4FE1;&#x2014;&#x2014;&#x9700;&#x8981;&#x8FDB;&#x7A0B;&#x540C;&#x6B65;&#x548C;&#x4E92;&#x65A5;&#x624B;&#x6BB5;&#x7684;&#x8F85;&#x52A9;&#xFF0C;&#x4EE5;&#x4FDD;&#x8BC1;&#x6570;&#x636E;&#x7684;&#x4E00;&#x81F4;&#x6027;&#x3002;

<span class="hljs-number">3.</span>&#x8C03;&#x5EA6;&#x548C;&#x5207;&#x6362;&#xFF1A;&#x7EBF;&#x7A0B;&#x4E0A;&#x4E0B;&#x6587;&#x5207;&#x6362;&#x6BD4;&#x8FDB;&#x7A0B;&#x4E0A;&#x4E0B;&#x6587;&#x5207;&#x6362;&#x5FEB;&#x5F97;&#x591A;&#x3002;

<span class="hljs-number">4.</span>&#x5728;&#x591A;&#x7EBF;&#x7A0B;OS&#x4E2D;&#xFF0C;&#x8FDB;&#x7A0B;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x53EF;&#x6267;&#x884C;&#x7684;&#x5B9E;&#x4F53;&#x3002;
</code></pre>
                                    <h3
                                        id="89-&#x2605;&#x2605;&#x2605;-&#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;">
                                        <a name="89-&#x2605;&#x2605;&#x2605;-&#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#89-&#x2605;&#x2605;&#x2605;-&#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="89-&#x2605;&#x2605;&#x2605;-&#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;"
                                            class="plugin-anchor"
                                            href="#89-&#x2605;&#x2605;&#x2605;-&#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-89"> 89. &#x2605;&#x2605;&#x2605;
                                            &#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;&#xFF0C;&#x7981;&#x6B62;&#x9ED8;&#x8BA4;&#x4E8B;&#x4EF6;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">/*-----&#x7981;&#x6B62;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;:-----*/</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">stopBubble</span>(<span class="hljs-params">e</span>) </span>{
<span class="hljs-comment">//&#x5982;&#x679C;&#x63D0;&#x4F9B;&#x4E86;&#x4E8B;&#x4EF6;&#x5BF9;&#x8C61;&#xFF0C;&#x5219;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x975E;IE&#x6D4F;&#x89C8;&#x5668;</span>
<span class="hljs-keyword">if</span> ( e &amp;&amp; e.stopPropagation )
    <span class="hljs-comment">//&#x56E0;&#x6B64;&#x5B83;&#x652F;&#x6301;W3C&#x7684;stopPropagation()&#x65B9;&#x6CD5;</span>
    e.stopPropagation();
<span class="hljs-keyword">else</span>
    <span class="hljs-comment">//&#x5426;&#x5219;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4F7F;&#x7528;IE&#x7684;&#x65B9;&#x5F0F;&#x6765;&#x53D6;&#x6D88;&#x4E8B;&#x4EF6;&#x5192;&#x6CE1;</span>
    <span class="hljs-built_in">window</span>.event.cancelBubble = <span class="hljs-literal">true</span>;
}

<span class="hljs-comment">/*-----&#x963B;&#x6B62;&#x6D4F;&#x89C8;&#x5668;&#x7684;&#x9ED8;&#x8BA4;&#x884C;&#x4E3A;-----*/</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">stopDefault</span>(<span class="hljs-params"> e </span>) </span>{
    <span class="hljs-comment">//&#x963B;&#x6B62;&#x9ED8;&#x8BA4;&#x6D4F;&#x89C8;&#x5668;&#x52A8;&#x4F5C;(W3C)</span>
    <span class="hljs-keyword">if</span> ( e &amp;&amp; e.preventDefault )
        e.preventDefault();
    <span class="hljs-comment">//IE&#x4E2D;&#x963B;&#x6B62;&#x51FD;&#x6570;&#x5668;&#x9ED8;&#x8BA4;&#x52A8;&#x4F5C;&#x7684;&#x65B9;&#x5F0F;</span>
    <span class="hljs-keyword">else</span>
        <span class="hljs-built_in">window</span>.event.returnValue = <span class="hljs-literal">false</span>;
    <span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
}
</code></pre>
                                    <h3
                                        id="90-&#x2605;&#x2605;-import-export-commonjs-&#x5BF9;&#x6BD4;&#x533A;&#x522B;">
                                        <a name="90-&#x2605;&#x2605;-import-export-commonjs-&#x5BF9;&#x6BD4;&#x533A;&#x522B;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#90-&#x2605;&#x2605;-import-export-commonjs-&#x5BF9;&#x6BD4;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="90-&#x2605;&#x2605;-import-export-commonjs-&#x5BF9;&#x6BD4;&#x533A;&#x522B;"
                                            class="plugin-anchor"
                                            href="#90-&#x2605;&#x2605;-import-export-commonjs-&#x5BF9;&#x6BD4;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-90"> 90. &#x2605;&#x2605; import export commonJS
                                            &#x5BF9;&#x6BD4;&#x533A;&#x522B;</p>
                                    </h3>
                                    <pre><code class="lang-JS">ES6&#x548C;commonJS&#x7684;&#x4E00;&#x4E9B;&#x533A;&#x522B;

&#x4ECE;&#x8BED;&#x6CD5;&#x7684;&#x89D2;&#x5EA6;&#x4E0A;&#x770B;&#xFF0C;ES6&#x6A21;&#x5757;&#x5316;&#x7684;<span class="hljs-keyword">import</span> &#x548C; <span class="hljs-keyword">export</span> &#x662F;&#x4E00;&#x4E2A;&#x5185;&#x7F6E;&#x7684;&#x6807;&#x8BC6;&#xFF0C;&#x800C;commonJS&#x7684;<span class="hljs-built_in">module</span>.exports &#x548C; <span class="hljs-built_in">require</span> &#x5206;&#x522B;&#x662F;js&#x5BF9;&#x8C61;&#x548C;&#x65B9;&#x6CD5;&#x3002;&#x5176;ES6&#x6A21;&#x5757;&#x5316;&#x548C;commonJS&#x7684;&#x5B9E;&#x73B0;&#x65B9;&#x5F0F;&#x4E0D;&#x540C;&#x3002;

<span class="hljs-number">1.</span>ES6&#x662F;&#x5728;&#x7F16;&#x8BD1;&#x7684;&#x65F6;&#x5019;&#x5BFC;&#x5165;&#x6587;&#x4EF6;&#xFF0C;&#x800C;commonJS&#x662F;&#x7F16;&#x8BD1;&#x5B8C;&#x6210;&#x540E;&#xFF0C;&#x5728;&#x901A;&#x8FC7;<span class="hljs-built_in">require</span>&#x65B9;&#x6CD5;&#x5BFC;&#x5165;&#xFF0C;&#x5E76;&#x8BFB;&#x53D6;&#x6587;&#x4EF6;&#x5BFC;&#x51FA;&#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x5E76;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;<span class="hljs-built_in">module</span>.exports&#x5BF9;&#x8C61;

<span class="hljs-number">2.</span>&#x5728;ES6&#x6A21;&#x5757;&#x7684;&#x5185;&#x90E8;<span class="hljs-keyword">this</span>&#x662F;&#x95EE;<span class="hljs-literal">undefined</span>&#xFF0C;&#x800C;commonJS&#x7684;<span class="hljs-keyword">this</span>&#x4E3A;&#x4E00;&#x4E2A;&#x7A7A;&#x5BF9;&#x8C61;

<span class="hljs-number">3.</span>ES6&#x6A21;&#x5757;&#x8F93;&#x51FA;&#x7684;&#x662F;&#x4E00;&#x4E2A;&#x5F15;&#x7528;&#xFF0C;&#x800C;commonJS&#x6A21;&#x5757;&#x8F93;&#x51FA;&#x7684;&#x662F;&#x4E00;&#x4E2A;&#x503C;&#x7684;&#x5F15;&#x7528;
</code></pre>
                                    <h3
                                        id="91-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-javascript-&#x662F;&#x5355;&#x7EBF;&#x7A0B;">
                                        <a name="91-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-javascript-&#x662F;&#x5355;&#x7EBF;&#x7A0B;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#91-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-javascript-&#x662F;&#x5355;&#x7EBF;&#x7A0B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="91-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-javascript-&#x662F;&#x5355;&#x7EBF;&#x7A0B;"
                                            class="plugin-anchor"
                                            href="#91-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-javascript-&#x662F;&#x5355;&#x7EBF;&#x7A0B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-91"> 91. &#x2605;&#x2605; &#x4E3A;&#x4EC0;&#x4E48; JavaScript
                                            &#x662F;&#x5355;&#x7EBF;&#x7A0B;</p>
                                    </h3>
                                    <pre><code class="lang-JS">js&#x4F5C;&#x4E3A;&#x4E3B;&#x8981;&#x8FD0;&#x884C;&#x5728;&#x6D4F;&#x89C8;&#x5668;&#x7684;&#x811A;&#x672C;&#x8BED;&#x8A00;&#xFF0C;js&#x4E3B;&#x8981;&#x7528;&#x9014;&#x4E4B;&#x4E00;&#x662F;&#x64CD;&#x4F5C;DOM&#x3002;

&#x4E3E;&#x4E00;&#x4E2A;&#x6817;&#x5B50;&#xFF0C;&#x5982;&#x679C;js&#x540C;&#x65F6;&#x6709;&#x4E24;&#x4E2A;&#x7EBF;&#x7A0B;&#xFF0C;&#x540C;&#x65F6;&#x5BF9;&#x540C;&#x4E00;&#x4E2A;dom&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#xFF0C;&#x8FD9;&#x65F6;&#x6D4F;&#x89C8;&#x5668;&#x5E94;&#x8BE5;&#x542C;&#x54EA;&#x4E2A;&#x7EBF;&#x7A0B;&#x7684;&#xFF0C;&#x5982;&#x4F55;&#x5224;&#x65AD;&#x4F18;&#x5148;&#x7EA7;&#xFF1F;

&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x8FD9;&#x79CD;&#x95EE;&#x9898;&#xFF0C;js&#x5FC5;&#x987B;&#x662F;&#x4E00;&#x95E8;&#x5355;&#x7EBF;&#x7A0B;&#x8BED;&#x8A00;
</code></pre>
                                    <h3
                                        id="92-&#x2605;&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="92-&#x2605;&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#92-&#x2605;&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="92-&#x2605;&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#92-&#x2605;&#x2605;&#x2605;-&#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-92"> 92. &#x2605;&#x2605;&#x2605;
                                            &#x4F7F;&#x7528;&#x7BAD;&#x5934;&#x51FD;&#x6570;&#x5E94;&#x8BE5;&#x6CE8;&#x610F;&#x4EC0;&#x4E48;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x4E0D;&#x8981;&#x5728;&#x5BF9;&#x8C61;&#x91CC;&#x9762;&#x5B9A;&#x4E49;&#x51FD;&#x6570;&#xFF0C;&#x5BF9;&#x8C61;&#x91CC;&#x9762;&#x7684;&#x884C;&#x6570;&#x5E94;&#x8BE5;&#x7528;&#x4F20;&#x7EDF;&#x7684;&#x51FD;&#x6570;&#x65B9;&#x6CD5;
<span class="hljs-number">2.</span> &#x4E0D;&#x8981;&#x5728;&#x5BF9;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E0A;&#x5B9A;&#x4E49;&#x51FD;&#x6570;&#xFF0C;&#x5728;&#x5BF9;&#x8C61;&#x539F;&#x578B;&#x4E0A;&#x5B9A;&#x4E49;&#x51FD;&#x6570;&#x4E5F;&#x662F;&#x9075;&#x5FAA;&#x7740;&#x4E00;&#x6837;&#x7684;&#x89C4;&#x5219;
<span class="hljs-number">3.</span> &#x4E0D;&#x8981;&#x7528;&#x7BAD;&#x5934;&#x5B9A;&#x4E49;&#x6784;&#x9020;&#x51FD;&#x6570;
<span class="hljs-number">4.</span> &#x4E0D;&#x8981;&#x7528;&#x7BAD;&#x5934;&#x5B9A;&#x4E49;&#x4E8B;&#x4EF6;&#x56DE;&#x8C03;&#x51FD;&#x6570;
</code></pre>
                                    <h3
                                        id="93-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;-es6-&#x4E2D;&#x7684;-generator-&#x548C;-yiled-&#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;">
                                        <a name="93-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;-es6-&#x4E2D;&#x7684;-generator-&#x548C;-yiled-&#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#93-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;-es6-&#x4E2D;&#x7684;-generator-&#x548C;-yiled-&#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="93-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;-es6-&#x4E2D;&#x7684;-generator-&#x548C;-yiled-&#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#93-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;-es6-&#x4E2D;&#x7684;-generator-&#x548C;-yiled-&#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-93"> 93. &#x2605;&#x2605;&#x2605; &#x4F60;&#x77E5;&#x9053; ES6
                                            &#x4E2D;&#x7684; Generator &#x548C; yiled
                                            &#x5417;&#xFF1F;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x4F7F;&#x7528;&#x8FC7;&#x5417;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">Generator &#x51FD;&#x6570;&#x662F; ES6 &#x63D0;&#x4F9B;&#x7684;&#x4E00;&#x79CD;&#x5F02;&#x6B65;&#x7F16;&#x7A0B;&#x89E3;&#x51B3;&#x65B9;&#x6848;
&#x6267;&#x884C; Generator &#x51FD;&#x6570;&#x4F1A;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x904D;&#x5386;&#x5668;&#x5BF9;&#x8C61;&#xFF0C;&#x53EF;&#x4EE5;&#x4F9D;&#x6B21;&#x904D;&#x5386; Generator &#x51FD;&#x6570;&#x5185;&#x90E8;&#x7684;&#x6BCF;&#x4E00;&#x4E2A;&#x72B6;&#x6001;
&#x5F62;&#x5F0F;&#x4E0A;&#xFF0C;Generator&#x51FD;&#x6570;&#x662F;&#x4E00;&#x4E2A;&#x666E;&#x901A;&#x51FD;&#x6570;&#xFF0C;&#x4F46;&#x662F;&#x6709;&#x4E24;&#x4E2A;&#x7279;&#x5F81;&#xFF1A;
<span class="hljs-number">1.</span> <span class="hljs-function"><span class="hljs-keyword">function</span>&#x5173;&#x952E;&#x5B57;&#x4E0E;&#x51FD;&#x6570;&#x540D;&#x4E4B;&#x95F4;&#x6709;&#x4E00;&#x4E2A;&#x661F;&#x53F7;
2. &#x51FD;&#x6570;&#x4F53;&#x5185;&#x90E8;&#x4F7F;&#x7528;<span class="hljs-title">yield</span>&#x8868;&#x8FBE;&#x5F0F;&#xFF0C;&#x5B9A;&#x4E49;&#x4E0D;&#x540C;&#x7684;&#x5185;&#x90E8;&#x72B6;&#x6001;

/*-----&#x5229;&#x7528;<span class="hljs-title">Generator</span>&#x51FD;&#x6570;&#xFF0C;&#x5728;&#x5BF9;&#x8C61;&#x4E0A;&#x5B9E;&#x73B0;<span class="hljs-title">Iterator</span>&#x63A5;&#x53E3;-----*/

<span class="hljs-title">function</span>* <span class="hljs-title">iterEntries</span>(<span class="hljs-params">obj</span>) </span>{
  <span class="hljs-keyword">let</span> keys = <span class="hljs-built_in">Object</span>.keys(obj);
  <span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> i=<span class="hljs-number">0</span>; i &lt; keys.length; i++) {
    <span class="hljs-keyword">let</span> key = keys[i];
    <span class="hljs-keyword">yield</span> [key, obj[key]];
  }
}

<span class="hljs-keyword">let</span> myObj = { foo: <span class="hljs-number">3</span>, bar: <span class="hljs-number">7</span> };

<span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> [key, value] <span class="hljs-keyword">of</span> iterEntries(myObj)) {
  <span class="hljs-built_in">console</span>.log(key, value);
}
</code></pre>
                                    <h3
                                        id="94-&#x2605;&#x2605;&#x2605;-cookie&#x3001;storage-&#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;">
                                        <a name="94-&#x2605;&#x2605;&#x2605;-cookie&#x3001;storage-&#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#94-&#x2605;&#x2605;&#x2605;-cookie&#x3001;storage-&#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="94-&#x2605;&#x2605;&#x2605;-cookie&#x3001;storage-&#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#94-&#x2605;&#x2605;&#x2605;-cookie&#x3001;storage-&#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-94"> 94. &#x2605;&#x2605;&#x2605; Cookie&#x3001;storage
                                            &#x7684;&#x533A;&#x522B;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x533A;&#x522B;&#xFF1A;
<span class="hljs-number">1.</span> cookie&#x6570;&#x636E;&#x59CB;&#x7EC8;&#x5728;&#x540C;&#x6E90;&#x7684;http&#x8BF7;&#x6C42;&#x4E2D;&#x643A;&#x5E26;&#xFF08;&#x5373;&#x4F7F;&#x4E0D;&#x9700;&#x8981;&#xFF09;&#xFF0C;&#x5373;cookie&#x5728;&#x6D4F;&#x89C8;&#x5668;&#x548C;&#x670D;&#x52A1;&#x5668;&#x95F4;&#x6765;&#x56DE;&#x4F20;&#x9012;&#x3002;localStorage&#x4E0D;&#x4F1A;&#x81EA;&#x52A8;&#x628A;&#x6570;&#x636E;&#x53D1;&#x7ED9;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x4EC5;&#x5728;&#x672C;&#x5730;&#x4FDD;&#x5B58;&#x3002;

<span class="hljs-number">2.</span> cookie&#x6570;&#x636E;&#x8FD8;&#x6709;&#x8DEF;&#x5F84;&#xFF08;path&#xFF09;&#x7684;&#x6982;&#x5FF5;&#xFF0C;&#x53EF;&#x4EE5;&#x9650;&#x5236;cookie&#x53EA;&#x5C5E;&#x4E8E;&#x67D0;&#x4E2A;&#x8DEF;&#x5F84;&#x4E0B;&#x3002;

<span class="hljs-number">3.</span> &#x5B58;&#x50A8;&#x5927;&#x5C0F;&#x9650;&#x5236;&#x4E5F;&#x4E0D;&#x540C;&#xFF0C;cookie&#x6570;&#x636E;&#x4E0D;&#x80FD;&#x8D85;&#x8FC7;<span class="hljs-number">4</span>k&#xFF0C;&#x540C;&#x65F6;&#x56E0;&#x4E3A;&#x6BCF;&#x6B21;http&#x8BF7;&#x6C42;&#x90FD;&#x4F1A;&#x643A;&#x5E26;cookie&#xFF0C;&#x6240;&#x4EE5;cookie&#x53EA;&#x9002;&#x5408;&#x4FDD;&#x5B58;&#x5F88;&#x5C0F;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x5982;&#x4F1A;&#x8BDD;&#x6807;&#x8BC6;&#x3002;localStorage &#x867D;&#x7136;&#x4E5F;&#x6709;&#x5B58;&#x50A8;&#x5927;&#x5C0F;&#x7684;&#x9650;&#x5236;&#xFF0C;&#x4F46;&#x6BD4;cookie&#x5927;&#x5F97;&#x591A;&#xFF0C;&#x53EF;&#x4EE5;&#x8FBE;&#x5230;<span class="hljs-number">5</span>M&#x6216;&#x66F4;&#x5927;&#x3002;

<span class="hljs-number">4.</span> &#x6570;&#x636E;&#x6709;&#x6548;&#x671F;&#x4E0D;&#x540C;&#xFF0C;
    localStorage&#xFF1A;&#x59CB;&#x7EC8;&#x6709;&#x6548;&#xFF0C;&#x7A97;&#x53E3;&#x6216;&#x6D4F;&#x89C8;&#x5668;&#x5173;&#x95ED;&#x4E5F;&#x4E00;&#x76F4;&#x4FDD;&#x5B58;&#xFF0C;&#x56E0;&#x6B64;&#x7528;&#x4F5C;&#x6301;&#x4E45;&#x6570;&#x636E;&#xFF1B;
    cookie&#x53EA;&#x5728;&#x8BBE;&#x7F6E;&#x7684;cookie&#x8FC7;&#x671F;&#x65F6;&#x95F4;&#x4E4B;&#x524D;&#x4E00;&#x76F4;&#x6709;&#x6548;&#xFF0C;&#x5373;&#x4F7F;&#x7A97;&#x53E3;&#x6216;&#x6D4F;&#x89C8;&#x5668;&#x5173;&#x95ED;&#x3002;

<span class="hljs-number">5.</span> WebStorage &#x652F;&#x6301;&#x4E8B;&#x4EF6;&#x901A;&#x77E5;&#x673A;&#x5236;&#xFF0C;&#x53EF;&#x4EE5;&#x5C06;&#x6570;&#x636E;&#x66F4;&#x65B0;&#x7684;&#x901A;&#x77E5;&#x53D1;&#x9001;&#x7ED9;&#x76D1;&#x542C;&#x8005;&#x3002;

<span class="hljs-number">6.</span> WebStorage &#x7684; api &#x63A5;&#x53E3;&#x4F7F;&#x7528;&#x66F4;&#x65B9;&#x4FBF;&#x3002;

&#x4F7F;&#x7528;&#x573A;&#x666F;&#xFF1A;
localStorage&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x7EDF;&#x8BA1;&#x9875;&#x9762;&#x8BBF;&#x95EE;&#x6B21;&#x6570;&#x3002;
cookie&#x4E00;&#x822C;&#x5B58;&#x50A8;&#x7528;&#x6237;&#x540D;&#x5BC6;&#x7801;&#x76F8;&#x5173;&#x4FE1;&#x606F;&#xFF0C;&#x4E00;&#x822C;&#x4F7F;&#x7528;<span class="hljs-built_in">escape</span>&#x8F6C;&#x4E49;&#x7F16;&#x7801;&#x540E;&#x5B58;&#x50A8;&#x3002;
</code></pre>
                                    <h3
                                        id="95-&#x2605;&#x2605;&#x2605;-map&#x3001;fillter&#x3001;reduce-&#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;">
                                        <a name="95-&#x2605;&#x2605;&#x2605;-map&#x3001;fillter&#x3001;reduce-&#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#95-&#x2605;&#x2605;&#x2605;-map&#x3001;fillter&#x3001;reduce-&#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="95-&#x2605;&#x2605;&#x2605;-map&#x3001;fillter&#x3001;reduce-&#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#95-&#x2605;&#x2605;&#x2605;-map&#x3001;fillter&#x3001;reduce-&#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-95"> 95. &#x2605;&#x2605;&#x2605; map&#x3001;fillter&#x3001;reduce
                                            &#x5404;&#x81EA;&#x6709;&#x4EC0;&#x4E48;&#x4F5C;&#x7528;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1</span>&#xFF1A;map &#x4F5C;&#x7528;&#x662F;&#x751F;&#x6210;&#x4E00;&#x4E2A;&#x65B0;&#x6570;&#x7EC4;&#xFF0C;&#x904D;&#x5386;&#x539F;&#x6570;&#x7EC4;&#xFF0C;&#x5C06;&#x6BCF;&#x4E2A;&#x5143;&#x7D20;&#x62FF;&#x51FA;&#x6765;&#x505A;&#x4E00;&#x4E9B;&#x53D8;&#x6362;&#x7136;&#x540E;&#x653E;&#x5165;&#x5230;&#x65B0;&#x7684;&#x6570;&#x7EC4;&#x4E2D;&#x3002;
&#x53E6;&#x5916; map &#x7684;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x63A5;&#x53D7;&#x4E09;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x5206;&#x522B;&#x662F;&#x5F53;&#x524D;&#x7D22;&#x5F15;&#x5143;&#x7D20;&#xFF0C;&#x7D22;&#x5F15;&#xFF0C;&#x539F;&#x6570;&#x7EC4;

<span class="hljs-number">2</span>&#xFF1A;filter &#x7684;&#x4F5C;&#x7528;&#x4E5F;&#x662F;&#x751F;&#x6210;&#x4E00;&#x4E2A;&#x65B0;&#x6570;&#x7EC4;&#xFF0C;&#x5728;&#x904D;&#x5386;&#x6570;&#x7EC4;&#x7684;&#x65F6;&#x5019;&#x5C06;&#x8FD4;&#x56DE;&#x503C;&#x4E3A; <span class="hljs-literal">true</span> &#x7684;&#x5143;&#x7D20;&#x653E;&#x5165;&#x65B0;&#x6570;&#x7EC4;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x8FD9;&#x4E2A;&#x51FD;&#x6570;&#x5220;&#x9664;&#x4E00;&#x4E9B;&#x4E0D;&#x9700;&#x8981;&#x7684;&#x5143;&#x7D20;
&#x548C; map &#x4E00;&#x6837;&#xFF0C;filter &#x7684;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x4E5F;&#x63A5;&#x53D7;&#x4E09;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x7528;&#x5904;&#x4E5F;&#x76F8;&#x540C;&#x3002;

<span class="hljs-number">3</span>&#xFF1A;reduce &#x53EF;&#x4EE5;&#x5C06;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x5143;&#x7D20;&#x901A;&#x8FC7;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x6700;&#x7EC8;&#x8F6C;&#x6362;&#x4E3A;&#x4E00;&#x4E2A;&#x503C;&#x3002;
&#x5B83;&#x63A5;&#x53D7;&#x4E24;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x5206;&#x522B;&#x662F;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x548C;&#x521D;&#x59CB;&#x503C;&#xFF0C;&#x63A5;&#x4E0B;&#x6765;&#x6211;&#x4EEC;&#x6765;&#x5206;&#x89E3;&#x4E0A;&#x8FF0;&#x4EE3;&#x7801;&#x4E2D; reduce &#x7684;&#x8FC7;&#x7A0B;
&#x9996;&#x5148;&#x521D;&#x59CB;&#x503C;&#x4E3A; <span class="hljs-number">0</span>&#xFF0C;&#x8BE5;&#x503C;&#x4F1A;&#x5728;&#x6267;&#x884C;&#x7B2C;&#x4E00;&#x6B21;&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x65F6;&#x4F5C;&#x4E3A;&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#x4F20;&#x5165;
&#x56DE;&#x8C03;&#x51FD;&#x6570;&#x63A5;&#x53D7;&#x56DB;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x5206;&#x522B;&#x4E3A;&#x7D2F;&#x8BA1;&#x503C;&#x3001;&#x5F53;&#x524D;&#x5143;&#x7D20;&#x3001;&#x5F53;&#x524D;&#x7D22;&#x5F15;&#x3001;&#x539F;&#x6570;&#x7EC4;&#xFF0C;&#x540E;&#x4E09;&#x8005;&#x60F3;&#x5FC5;&#x5927;&#x5BB6;&#x90FD;&#x53EF;&#x4EE5;&#x660E;&#x767D;&#x4F5C;&#x7528;&#xFF0C;&#x8FD9;&#x91CC;&#x7740;&#x91CD;&#x5206;&#x6790;&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;
</code></pre>
                                    <h3
                                        id="96-&#x2605;&#x2605;-js&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;">
                                        <a name="96-&#x2605;&#x2605;-js&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#96-&#x2605;&#x2605;-js&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="96-&#x2605;&#x2605;-js&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#96-&#x2605;&#x2605;-js&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-96"> 96. &#x2605;&#x2605;
                                            JS&#x7684;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x5224;&#x65AD;&#x6709;&#x4EC0;&#x4E48;&#x65B9;&#x6CD5;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span><span class="hljs-keyword">typeof</span>&#xFF1A;
    <span class="hljs-keyword">typeof</span><span class="hljs-string">&apos;&apos;</span>;<span class="hljs-comment">// string &#x6709;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> <span class="hljs-number">1</span>;<span class="hljs-comment">// number &#x6709;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> <span class="hljs-built_in">Symbol</span>();<span class="hljs-comment">// symbol &#x6709;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> <span class="hljs-literal">true</span>;<span class="hljs-comment">//boolean &#x6709;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> <span class="hljs-literal">undefined</span>;<span class="hljs-comment">//undefined &#x6709;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> <span class="hljs-literal">null</span>;<span class="hljs-comment">//object &#x65E0;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> [] ;<span class="hljs-comment">//object &#x65E0;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Function</span>();<span class="hljs-comment">// function &#x6709;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>();<span class="hljs-comment">//object &#x65E0;&#x6548;</span>
    <span class="hljs-keyword">typeof</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">RegExp</span>();<span class="hljs-comment">//object &#x65E0;&#x6548;</span>
<span class="hljs-number">2.</span><span class="hljs-keyword">instanceof</span>
    <span class="hljs-keyword">instanceof</span> &#x662F;&#x7528;&#x6765;&#x5224;&#x65AD; A &#x662F;&#x5426;&#x4E3A; B &#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x8868;&#x8FBE;&#x5F0F;&#x4E3A;&#xFF1A;A <span class="hljs-keyword">instanceof</span> B&#xFF0C;&#x5982;&#x679C; A &#x662F; B &#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x5219;&#x8FD4;&#x56DE; <span class="hljs-literal">true</span>,&#x5426;&#x5219;&#x8FD4;&#x56DE; <span class="hljs-literal">false</span>&#x3002;        &#x5728;&#x8FD9;&#x91CC;&#x9700;&#x8981;&#x7279;&#x522B;&#x6CE8;&#x610F;&#x7684;&#x662F;&#xFF1A;<span class="hljs-keyword">instanceof</span> &#x68C0;&#x6D4B;&#x7684;&#x662F;&#x539F;&#x578B;
<span class="hljs-number">3.</span><span class="hljs-keyword">constructor</span>
&#x5F53;&#x4E00;&#x4E2A;&#x51FD;&#x6570; F&#x88AB;&#x5B9A;&#x4E49;&#x65F6;&#xFF0C;JS&#x5F15;&#x64CE;&#x4F1A;&#x4E3A;F&#x6DFB;&#x52A0; prototype &#x539F;&#x578B;&#xFF0C;&#x7136;&#x540E;&#x518D;&#x5728; prototype&#x4E0A;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A; <span class="hljs-keyword">constructor</span> &#x5C5E;&#x6027;
4.toString
toString() &#x662F; Object &#x7684;&#x539F;&#x578B;&#x65B9;&#x6CD5;&#xFF0C;&#x8C03;&#x7528;&#x8BE5;&#x65B9;&#x6CD5;&#xFF0C;&#x9ED8;&#x8BA4;&#x8FD4;&#x56DE;&#x5F53;&#x524D;&#x5BF9;&#x8C61;&#x7684; [[Class]] &#x3002;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x5185;&#x90E8;&#x5C5E;&#x6027;&#xFF0C;&#x5176;&#x683C;&#x5F0F;&#x4E3A; [object Xxx] &#xFF0C;&#x5176;&#x4E2D; Xxx &#x5C31;&#x662F;&#x5BF9;&#x8C61;&#x7684;&#x7C7B;&#x578B;&#x3002;

&#x5BF9;&#x4E8E; Object &#x5BF9;&#x8C61;&#xFF0C;&#x76F4;&#x63A5;&#x8C03;&#x7528; toString()  &#x5C31;&#x80FD;&#x8FD4;&#x56DE; [object Object] &#x3002;&#x800C;&#x5BF9;&#x4E8E;&#x5176;&#x4ED6;&#x5BF9;&#x8C61;&#xFF0C;&#x5219;&#x9700;&#x8981;&#x901A;&#x8FC7; call / apply &#x6765;&#x8C03;&#x7528;&#x624D;&#x80FD;&#x8FD4;&#x56DE;&#x6B63;&#x786E;&#x7684;&#x7C7B;&#x578B;&#x4FE1;&#x606F;&#x3002;
    Object.prototype.toString.call(&apos;&apos;) ;  // [object String]
    Object.prototype.toString.call(1) ;   // [object Number]
    Object.prototype.toString.call(true) ;// [object Boolean]
    Object.prototype.toString.call(Symbol());//[object Symbol]
    Object.prototype.toString.call(undefined) ;// [object Undefined]
    Object.prototype.toString.call(null) ;// [object Null]
    Object.prototype.toString.call(newFunction()) ;// [object Function]
    Object.prototype.toString.call(newDate()) ;// [object Date]
    Object.prototype.toString.call([]) ;// [object Array]
    Object.prototype.toString.call(newRegExp()) ;// [object RegExp]
    Object.prototype.toString.call(newError()) ;// [object Error]
    Object.prototype.toString.call(document) ;// [object HTMLDocument]
    Object.prototype.toString.call(window) ;//[object global] window &#x662F;&#x5168;&#x5C40;&#x5BF9;&#x8C61; global &#x7684;&#x5F15;&#x7528;
</code></pre>
                                    <h3
                                        id="97-&#x2605;&#x2605;&#x2605;-&#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="97-&#x2605;&#x2605;&#x2605;-&#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#97-&#x2605;&#x2605;&#x2605;-&#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="97-&#x2605;&#x2605;&#x2605;-&#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#97-&#x2605;&#x2605;&#x2605;-&#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-97"> 97. &#x2605;&#x2605;&#x2605;
                                            &#x6784;&#x9020;&#x51FD;&#x6570;&#x3001;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x3001;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x4E09;&#x8005;&#x7684;&#x5173;&#x7CFB;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;
                                        </p>
                                    </h3>
                                    <p><img src="https://img-blog.csdn.net/20180914155910928?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MjQ3ODM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70"
                                            alt="img"></p>
                                    <h3
                                        id="98-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;">
                                        <a name="98-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#98-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="98-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#98-&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-98"> 98. &#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
                                            JS&#x4E2D;&#x7684;&#x5E38;&#x89C1;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4EE5;&#x53CA;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1</span>&#x3001;&#x5355;&#x4F8B;&#x6A21;&#x5F0F;
&#x5355;&#x4F8B;&#x6A21;&#x5F0F;&#x5C31;&#x662F;&#x4E00;&#x4E2A;&#x5B9E;&#x4F8B;&#x5728;&#x6574;&#x4E2A;&#x7F51;&#x9875;&#x7684;&#x751F;&#x547D;&#x5468;&#x671F;&#x91CC;&#x53EA;&#x521B;&#x5EFA;&#x4E00;&#x6B21;&#xFF0C;&#x540E;&#x7EED;&#x518D;&#x8C03;&#x7528;&#x5B9E;&#x4F8B;&#x521B;&#x5EFA;&#x51FD;&#x6570;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x8FD4;&#x56DE;&#x7684;&#x4ECD;&#x662F;&#x4E4B;&#x524D;&#x521B;&#x5EFA;&#x7684;&#x5B9E;&#x4F8B;&#x3002;&#x5728;&#x5B9E;&#x9645;&#x5F00;&#x53D1;&#x4E2D;&#x5E94;&#x7528;&#x5341;&#x5206;&#x5E7F;&#x6CDB;&#xFF0C;&#x4F8B;&#x5982;&#x9875;&#x9762;&#x4E2D;&#x7684;&#x767B;&#x5F55;&#x6846;&#xFF0C;&#x663E;&#x793A;&#x6D88;&#x606F;&#x7684;&#x63D0;&#x793A;&#x7A97;
<span class="hljs-number">2</span>&#x3001;&#x7B56;&#x7565;&#x6A21;&#x5F0F;
&#x7B56;&#x7565;&#x6A21;&#x5F0F;&#x662F;&#x6307;&#x5C06;&#x7B56;&#x7565;&#xFF08;&#x7B97;&#x6CD5;&#xFF09;&#x5C01;&#x88C5;&#x8D77;&#x6765;&#xFF0C;&#x7B56;&#x7565;&#x7684;&#x76EE;&#x7684;&#x662F;&#x5C06;&#x7B97;&#x6CD5;&#x548C;&#x4F7F;&#x7528;&#x5206;&#x79BB;&#x5F00;&#x3002;
<span class="hljs-number">3</span>&#x3001;&#x4EE3;&#x7406;&#x6A21;&#x5F0F;
&#x4EE3;&#x7406;&#x6A21;&#x5F0F;&#x5F88;&#x597D;&#x7406;&#x89E3;&#xFF0C;&#x6211;&#x4EEC;&#x4E0D;&#x80FD;&#x76F4;&#x63A5;&#x4F7F;&#x7528;&#x76EE;&#x6807;&#x51FD;&#x6570;&#xFF0C;&#x800C;&#x662F;&#x901A;&#x8FC7;&#x8C03;&#x7528;&#x4EE3;&#x7406;&#x51FD;&#x6570;&#x6765;&#x5B9E;&#x73B0;&#x5BF9;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x7684;&#x4F7F;&#x7528;&#x3002;
<span class="hljs-number">4</span>&#x3001;&#x53D1;&#x5E03;&#x8BA2;&#x9605;&#x6A21;&#x5F0F;
&#x53D1;&#x5E03;&#x8BA2;&#x9605;&#x6A21;&#x5F0F;&#x5728;&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x4E2D;&#x975E;&#x5E38;&#x5E38;&#x89C1;&#xFF0C;&#x4F8B;&#x5982;&#xFF0C;&#x6211;&#x4EEC;&#x5728;&#x5FAE;&#x4FE1;App&#x4E0A;&#x5173;&#x6CE8;&#x4E86;&#x67D0;&#x4E2A;&#x516C;&#x4F17;&#x53F7;&#xFF0C;&#x5F53;&#x8BE5;&#x516C;&#x4F17;&#x53F7;&#x6709;&#x65B0;&#x6587;&#x7AE0;&#x53D1;&#x5E03;&#x65F6;&#xFF0C;&#x5C31;&#x4F1A;&#x901A;&#x77E5;&#x6211;&#x4EEC;&#x3002;
&#x53D1;&#x5E03;&#x8BA2;&#x9605;&#x6A21;&#x5F0F;&#x5B9A;&#x4E49;&#x4E86;&#x4E00;&#x79CD;&#x4E00;&#x5BF9;&#x591A;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF0C;&#x5F53;&#x201C;&#x4E00;&#x201D;&#x53D1;&#x751F;&#x53D8;&#x5316;&#xFF0C;&#x901A;&#x77E5;&#x591A;&#x4E2A;&#x4F9D;&#x8D56;&#x3002;
<span class="hljs-number">5</span>&#x3001;&#x547D;&#x4EE4;&#x6A21;&#x5F0F;
&#x6240;&#x8C13;&#x547D;&#x4EE4;&#x6A21;&#x5F0F;&#x5C31;&#x662F;&#x5C06;&#x4E0B;&#x8981;&#x6267;&#x884C;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x5C01;&#x88C5;&#x5230;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x6216;&#x7C7B;&#x4E2D;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x5177;&#x4F53;&#x8C01;&#x6765;&#x6267;&#x884C;&#x8BE5;&#x547D;&#x4EE4;&#x7684;
</code></pre>
                                    <h3
                                        id="99-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;">
                                        <a name="99-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#99-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="99-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;"
                                            class="plugin-anchor"
                                            href="#99-&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-99"> 99. &#x2605;&#x2605;
                                            &#x4ECB;&#x7ECD;&#x4E0B;&#x4E8B;&#x4EF6;&#x4EE3;&#x7406;&#xFF0C;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x4EC0;&#x4E48;&#x95EE;&#x9898;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x7ED1;&#x5B9A;&#x4E8B;&#x4EF6;&#x592A;&#x591A;&#xFF0C;&#x6D4F;&#x89C8;&#x5668;&#x5360;&#x7528;&#x5185;&#x5B58;&#x53D8;&#x5927;&#xFF0C;&#x4E25;&#x91CD;&#x5F71;&#x54CD;&#x6027;&#x80FD;
<span class="hljs-number">2.</span> Ajax&#x51FA;&#x73B0;&#xFF0C;&#x5C40;&#x90E8;&#x5237;&#x65B0;&#x76DB;&#x884C;&#xFF0C;&#x6BCF;&#x6B21;&#x52A0;&#x8F7D;&#x5B8C;&#xFF0C;&#x90FD;&#x8981;&#x91CD;&#x65B0;&#x7ED1;&#x5B9A;&#x4E8B;&#x4EF6;
<span class="hljs-number">3.</span> &#x90E8;&#x5206;&#x6D4F;&#x89C8;&#x5668;&#x79FB;&#x9664;&#x5143;&#x7D20;&#x65F6;&#xFF0C;&#x7ED1;&#x5B9A;&#x7684;&#x4E8B;&#x4EF6;&#x6CA1;&#x6709;&#x88AB;&#x53CA;&#x65F6;&#x79FB;&#x9664;&#xFF0C;&#x5BFC;&#x81F4;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#xFF0C;&#x4E25;&#x91CD;&#x5F71;&#x54CD;&#x6027;&#x80FD;
<span class="hljs-number">4.</span> Ajax&#x4E2D;&#x91CD;&#x590D;&#x7ED1;&#x5B9A;&#xFF0C;&#x5BFC;&#x81F4;&#x4EE3;&#x7801;&#x8026;&#x5408;&#x6027;&#x8FC7;&#x5927;&#xFF0C;&#x5F71;&#x54CD;&#x540E;&#x671F;&#x7EF4;&#x62A4;
</code></pre>
                                    <h3
                                        id="100-&#x2605;&#x2605;&#x2605;&#x2605;--&#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;">
                                        <a name="100-&#x2605;&#x2605;&#x2605;&#x2605;--&#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#100-&#x2605;&#x2605;&#x2605;&#x2605;--&#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="100-&#x2605;&#x2605;&#x2605;&#x2605;--&#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#100-&#x2605;&#x2605;&#x2605;&#x2605;--&#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-100"> 100. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x5F02;&#x6B65;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span>&#x56DE;&#x8C03;&#x51FD;&#x6570;callback
<span class="hljs-number">2.</span>&#x4E8B;&#x4EF6;&#x53D1;&#x5E03;&#x8BA2;&#x9605;
<span class="hljs-number">3.</span><span class="hljs-built_in">Promise</span>
<span class="hljs-number">4.</span>Generator
<span class="hljs-number">5.</span><span class="hljs-keyword">async</span>/<span class="hljs-keyword">await</span>
</code></pre>
                                    <h3
                                        id="101-&#x2605;&#x2605;-new-&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7;-new-&#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="101-&#x2605;&#x2605;-new-&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7;-new-&#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#101-&#x2605;&#x2605;-new-&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7;-new-&#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="101-&#x2605;&#x2605;-new-&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7;-new-&#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#101-&#x2605;&#x2605;-new-&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7;-new-&#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-101"> 101. &#x2605;&#x2605; new
                                            &#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x901A;&#x8FC7; new
                                            &#x7684;&#x65B9;&#x5F0F;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x548C;&#x901A;&#x8FC7;&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-keyword">new</span>&#x64CD;&#x4F5C;&#x7B26;&#x7684;&#x4F5C;&#x7528;&#x5982;&#x4E0B;&#xFF1A;
<span class="hljs-number">1.</span>&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x7A7A;&#x5BF9;&#x8C61;
<span class="hljs-number">2.</span>&#x7531;<span class="hljs-keyword">this</span>&#x53D8;&#x91CF;&#x5F15;&#x7528;&#x8BE5;&#x5BF9;&#x8C61;
<span class="hljs-number">3.</span>&#x8BE5;&#x5BF9;&#x8C61;&#x7EE7;&#x627F;&#x8BE5;&#x51FD;&#x6570;&#x7684;&#x539F;&#x578B;
<span class="hljs-number">4.</span>&#x628A;&#x5C5E;&#x6027;&#x548C;&#x65B9;&#x6CD5;&#x52A0;&#x5165;&#x5230;<span class="hljs-keyword">this</span>&#x5F15;&#x7528;&#x7684;&#x5BF9;&#x8C61;&#x4E2D;
<span class="hljs-number">5.</span>&#x65B0;&#x521B;&#x5EFA;&#x7684;&#x5BF9;&#x8C61;&#x7531;<span class="hljs-keyword">this</span>&#x5F15;&#x7528;&#xFF0C;&#x6700;&#x540E;&#x9690;&#x5F0F;&#x5730;&#x8FD4;&#x56DE;<span class="hljs-keyword">this</span>&#x3002;

&#x533A;&#x522B;:
&#x5B57;&#x9762;&#x91CF;&#x521B;&#x5EFA;&#x4E0D;&#x4F1A;&#x8C03;&#x7528; <span class="hljs-built_in">Object</span>&#x6784;&#x9020;&#x51FD;&#x6570;, &#x7B80;&#x6D01;&#x4E14;&#x6027;&#x80FD;&#x66F4;&#x597D;;
</code></pre>
                                    <h3
                                        id="102-&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;">
                                        <a name="102-&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#102-&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="102-&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;"
                                            class="plugin-anchor"
                                            href="#102-&#x2605;&#x2605;-&#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-102"> 102. &#x2605;&#x2605;
                                            &#x6570;&#x7EC4;&#x53BB;&#x91CD;&#x7684;&#x65B9;&#x6CD5;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">/*
&#x65B9;&#x6CD5;&#x4E00;&#xFF1A;

&#x53CC;&#x5C42;&#x5FAA;&#x73AF;&#xFF0C;&#x5916;&#x5C42;&#x5FAA;&#x73AF;&#x5143;&#x7D20;&#xFF0C;&#x5185;&#x5C42;&#x5FAA;&#x73AF;&#x65F6;&#x6BD4;&#x8F83;&#x503C;

&#x5982;&#x679C;&#x6709;&#x76F8;&#x540C;&#x7684;&#x503C;&#x5219;&#x8DF3;&#x8FC7;&#xFF0C;&#x4E0D;&#x76F8;&#x540C;&#x5219;push&#x8FDB;&#x6570;&#x7EC4;
*/</span>
<span class="hljs-built_in">Array</span>.prototype.distinct = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{
 <span class="hljs-keyword">var</span> arr = <span class="hljs-keyword">this</span>,
  result = [],
  i,
  j,
  len = arr.length;
 <span class="hljs-keyword">for</span>(i = <span class="hljs-number">0</span>; i &lt; len; i++){
  <span class="hljs-keyword">for</span>(j = i + <span class="hljs-number">1</span>; j &lt; len; j++){
   <span class="hljs-keyword">if</span>(arr[i] === arr[j]){
    j = ++i;
   }
  }
  result.push(arr[i]);
 }
 <span class="hljs-keyword">return</span> result;
}
<span class="hljs-keyword">var</span> arra = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>,<span class="hljs-number">4</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>];
arra.distinct();    <span class="hljs-comment">//&#x8FD4;&#x56DE;[3,4,2,1]</span>


<span class="hljs-comment">/*
&#x65B9;&#x6CD5;&#x4E8C;&#xFF1A;&#x5229;&#x7528;splice&#x76F4;&#x63A5;&#x5728;&#x539F;&#x6570;&#x7EC4;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;

&#x53CC;&#x5C42;&#x5FAA;&#x73AF;&#xFF0C;&#x5916;&#x5C42;&#x5FAA;&#x73AF;&#x5143;&#x7D20;&#xFF0C;&#x5185;&#x5C42;&#x5FAA;&#x73AF;&#x65F6;&#x6BD4;&#x8F83;&#x503C;

&#x503C;&#x76F8;&#x540C;&#x65F6;&#xFF0C;&#x5219;&#x5220;&#x53BB;&#x8FD9;&#x4E2A;&#x503C;

&#x6CE8;&#x610F;&#x70B9;:&#x5220;&#x9664;&#x5143;&#x7D20;&#x4E4B;&#x540E;&#xFF0C;&#x9700;&#x8981;&#x5C06;&#x6570;&#x7EC4;&#x7684;&#x957F;&#x5EA6;&#x4E5F;&#x51CF;1.
*/</span>
<span class="hljs-built_in">Array</span>.prototype.distinct = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>)</span>{
 <span class="hljs-keyword">var</span> arr = <span class="hljs-keyword">this</span>,
  i,
  j,
  len = arr.length;
 <span class="hljs-keyword">for</span>(i = <span class="hljs-number">0</span>; i &lt; len; i++){
  <span class="hljs-keyword">for</span>(j = i + <span class="hljs-number">1</span>; j &lt; len; j++){
   <span class="hljs-keyword">if</span>(arr[i] == arr[j]){
    arr.splice(j,<span class="hljs-number">1</span>);
    len--;
    j--;
   }
  }
 }
 <span class="hljs-keyword">return</span> arr;
};
<span class="hljs-keyword">var</span> a = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>,<span class="hljs-number">5</span>,<span class="hljs-number">6</span>,<span class="hljs-number">5</span>,<span class="hljs-number">3</span>,<span class="hljs-number">2</span>,<span class="hljs-number">4</span>,<span class="hljs-number">56</span>,<span class="hljs-number">4</span>,<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,];
<span class="hljs-keyword">var</span> b = a.distinct();
<span class="hljs-built_in">console</span>.log(b.toString()); <span class="hljs-comment">//1,2,3,4,5,6,56</span>


<span class="hljs-comment">/*
&#x4F18;&#x70B9;&#xFF1A;&#x7B80;&#x5355;&#x6613;&#x61C2;

&#x7F3A;&#x70B9;&#xFF1A;&#x5360;&#x7528;&#x5185;&#x5B58;&#x9AD8;&#xFF0C;&#x901F;&#x5EA6;&#x6162;

&#x65B9;&#x6CD5;&#x4E09;&#xFF1A;&#x5229;&#x7528;&#x5BF9;&#x8C61;&#x7684;&#x5C5E;&#x6027;&#x4E0D;&#x80FD;&#x76F8;&#x540C;&#x7684;&#x7279;&#x70B9;&#x8FDB;&#x884C;&#x53BB;&#x91CD;
*/</span>
<span class="hljs-built_in">Array</span>.prototype.distinct = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>)</span>{
 <span class="hljs-keyword">var</span> arr = <span class="hljs-keyword">this</span>,
  i,
  obj = {},
  result = [],
  len = arr.length;
 <span class="hljs-keyword">for</span>(i = <span class="hljs-number">0</span>; i&lt; arr.length; i++){
  <span class="hljs-keyword">if</span>(!obj[arr[i]]){ <span class="hljs-comment">//&#x5982;&#x679C;&#x80FD;&#x67E5;&#x627E;&#x5230;&#xFF0C;&#x8BC1;&#x660E;&#x6570;&#x7EC4;&#x5143;&#x7D20;&#x91CD;&#x590D;&#x4E86;</span>
   obj[arr[i]] = <span class="hljs-number">1</span>;
   result.push(arr[i]);
  }
 }
 <span class="hljs-keyword">return</span> result;
};
<span class="hljs-keyword">var</span> a = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>,<span class="hljs-number">5</span>,<span class="hljs-number">6</span>,<span class="hljs-number">5</span>,<span class="hljs-number">3</span>,<span class="hljs-number">2</span>,<span class="hljs-number">4</span>,<span class="hljs-number">56</span>,<span class="hljs-number">4</span>,<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,];
<span class="hljs-keyword">var</span> b = a.distinct();
<span class="hljs-built_in">console</span>.log(b.toString()); <span class="hljs-comment">//1,2,3,4,5,6,56</span>


<span class="hljs-comment">/*
&#x65B9;&#x6CD5;&#x56DB;&#xFF1A;&#x6570;&#x7EC4;&#x9012;&#x5F52;&#x53BB;&#x91CD;

&#x8FD0;&#x7528;&#x9012;&#x5F52;&#x7684;&#x601D;&#x60F3;

&#x5148;&#x6392;&#x5E8F;&#xFF0C;&#x7136;&#x540E;&#x4ECE;&#x6700;&#x540E;&#x5F00;&#x59CB;&#x6BD4;&#x8F83;&#xFF0C;&#x9047;&#x5230;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x5220;&#x9664;
*/</span>
<span class="hljs-built_in">Array</span>.prototype.distinct = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>)</span>{
 <span class="hljs-keyword">var</span> arr = <span class="hljs-keyword">this</span>,
  len = arr.length;
 arr.sort(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">a,b</span>)</span>{  <span class="hljs-comment">//&#x5BF9;&#x6570;&#x7EC4;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#x624D;&#x80FD;&#x65B9;&#x4FBF;&#x6BD4;&#x8F83;</span>
  <span class="hljs-keyword">return</span> a - b;
 })
 <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">loop</span>(<span class="hljs-params">index</span>)</span>{
  <span class="hljs-keyword">if</span>(index &gt;= <span class="hljs-number">1</span>){
   <span class="hljs-keyword">if</span>(arr[index] === arr[index<span class="hljs-number">-1</span>]){
    arr.splice(index,<span class="hljs-number">1</span>);
   }
   loop(index - <span class="hljs-number">1</span>); <span class="hljs-comment">//&#x9012;&#x5F52;loop&#x51FD;&#x6570;&#x8FDB;&#x884C;&#x53BB;&#x91CD;</span>
  }
 }
 loop(len<span class="hljs-number">-1</span>);
 <span class="hljs-keyword">return</span> arr;
};
<span class="hljs-keyword">var</span> a = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>,<span class="hljs-number">5</span>,<span class="hljs-number">6</span>,<span class="hljs-number">5</span>,<span class="hljs-number">3</span>,<span class="hljs-number">2</span>,<span class="hljs-number">4</span>,<span class="hljs-number">56</span>,<span class="hljs-number">4</span>,<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">56</span>,<span class="hljs-number">45</span>,<span class="hljs-number">56</span>];
<span class="hljs-keyword">var</span> b = a.distinct();
<span class="hljs-built_in">console</span>.log(b.toString());  <span class="hljs-comment">//1,2,3,4,5,6,45,56</span>


<span class="hljs-comment">//&#x65B9;&#x6CD5;&#x4E94;&#xFF1A;&#x5229;&#x7528;indexOf&#x4EE5;&#x53CA;forEach</span>
<span class="hljs-built_in">Array</span>.prototype.distinct = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>)</span>{
 <span class="hljs-keyword">var</span> arr = <span class="hljs-keyword">this</span>,
  result = [],
  len = arr.length;
 arr.forEach(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">v, i ,arr</span>)</span>{  <span class="hljs-comment">//&#x8FD9;&#x91CC;&#x5229;&#x7528;map&#xFF0C;filter&#x65B9;&#x6CD5;&#x4E5F;&#x53EF;&#x4EE5;&#x5B9E;&#x73B0;</span>
  <span class="hljs-keyword">var</span> bool = arr.indexOf(v,i+<span class="hljs-number">1</span>);  <span class="hljs-comment">//&#x4ECE;&#x4F20;&#x5165;&#x53C2;&#x6570;&#x7684;&#x4E0B;&#x4E00;&#x4E2A;&#x7D22;&#x5F15;&#x503C;&#x5F00;&#x59CB;&#x5BFB;&#x627E;&#x662F;&#x5426;&#x5B58;&#x5728;&#x91CD;&#x590D;</span>
  <span class="hljs-keyword">if</span>(bool === <span class="hljs-number">-1</span>){
   result.push(v);
  }
 })
 <span class="hljs-keyword">return</span> result;
};
<span class="hljs-keyword">var</span> a = [<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">2</span>,<span class="hljs-number">2</span>,<span class="hljs-number">2</span>,<span class="hljs-number">2</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">3</span>,<span class="hljs-number">3</span>,<span class="hljs-number">3</span>,<span class="hljs-number">3</span>,<span class="hljs-number">3</span>,<span class="hljs-number">3</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">3</span>,<span class="hljs-number">2</span>,<span class="hljs-number">2</span>,<span class="hljs-number">1</span>,<span class="hljs-number">23</span>,<span class="hljs-number">1</span>,<span class="hljs-number">23</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>];
<span class="hljs-keyword">var</span> b = a.distinct();
<span class="hljs-built_in">console</span>.log(b.toString()); <span class="hljs-comment">//1,23,2,3</span>
&#x65B9;&#x6CD5;&#x516D;&#xFF1A;&#x5229;&#x7528;ES6&#x7684;set

<span class="hljs-built_in">Set</span>&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;&#x5B83;&#x7C7B;&#x4F3C;&#x4E8E;&#x6570;&#x7EC4;&#xFF0C;&#x5176;&#x6210;&#x5458;&#x7684;&#x503C;&#x90FD;&#x662F;&#x552F;&#x4E00;&#x7684;&#x3002;

&#x5229;&#x7528;<span class="hljs-built_in">Array</span>.from&#x5C06;<span class="hljs-built_in">Set</span>&#x7ED3;&#x6784;&#x8F6C;&#x6362;&#x6210;&#x6570;&#x7EC4;

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">dedupe</span>(<span class="hljs-params">array</span>)</span>{
 <span class="hljs-keyword">return</span> <span class="hljs-built_in">Array</span>.from(<span class="hljs-keyword">new</span> <span class="hljs-built_in">Set</span>(array));
}
dedupe([<span class="hljs-number">1</span>,<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>]) <span class="hljs-comment">//[1,2,3]</span>
&#x62D3;&#x5C55;&#x8FD0;&#x7B97;&#x7B26;(...)&#x5185;&#x90E8;&#x4F7F;&#x7528;<span class="hljs-keyword">for</span>...of&#x5FAA;&#x73AF;

<span class="hljs-number">1</span>
<span class="hljs-number">2</span>
<span class="hljs-number">3</span>
<span class="hljs-keyword">let</span> arr = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">3</span>];
<span class="hljs-keyword">let</span> resultarr = [...new <span class="hljs-built_in">Set</span>(arr)]; 
<span class="hljs-built_in">console</span>.log(resultarr); <span class="hljs-comment">//[1,2,3]</span>
</code></pre>
                                    <h3
                                        id="103-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;">
                                        <a name="103-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#103-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="103-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;"
                                            class="plugin-anchor"
                                            href="#103-&#x2605;&#x2605;&#x2605;&#x2605;-&#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-103"> 103. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x5E38;&#x89C1;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1</span>&#x3001;&#x9759;&#x6001;&#x96C6;&#x5408;&#x7C7B;&#xFF0C;&#x5982;HashMap&#x3001;LinkedList&#x7B49;&#x7B49;&#x3002;&#x5982;&#x679C;&#x8FD9;&#x4E9B;&#x5BB9;&#x5668;&#x4E3A;&#x9759;&#x6001;&#x7684;&#xFF0C;&#x90A3;&#x4E48;&#x5B83;&#x4EEC;&#x7684;&#x751F;&#x547D;&#x5468;&#x671F;&#x4E0E;&#x7A0B;&#x5E8F;&#x4E00;&#x81F4;&#xFF0C;&#x5219;&#x5BB9;&#x5668;&#x4E2D;&#x7684;&#x5BF9;&#x8C61;&#x5728;&#x7A0B;&#x5E8F;&#x7ED3;&#x675F;&#x4E4B;&#x524D;&#x5C06;&#x4E0D;&#x80FD;&#x88AB;&#x91CA;&#x653E;&#xFF0C;&#x4ECE;&#x800C;&#x9020;&#x6210;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x3002;&#x7B80;&#x5355;&#x800C;&#x8A00;&#xFF0C;&#x957F;&#x751F;&#x547D;&#x5468;&#x671F;&#x7684;&#x5BF9;&#x8C61;&#x6301;&#x6709;&#x77ED;&#x751F;&#x547D;&#x5468;&#x671F;&#x5BF9;&#x8C61;&#x7684;&#x5F15;&#x7528;&#xFF0C;&#x5C3D;&#x7BA1;&#x77ED;&#x751F;&#x547D;&#x5468;&#x671F;&#x7684;&#x5BF9;&#x8C61;&#x4E0D;&#x518D;&#x4F7F;&#x7528;&#xFF0C;&#x4F46;&#x662F;&#x56E0;&#x4E3A;&#x957F;&#x751F;&#x547D;&#x5468;&#x671F;&#x5BF9;&#x8C61;&#x6301;&#x6709;&#x5B83;&#x7684;&#x5F15;&#x7528;&#x800C;&#x5BFC;&#x81F4;&#x4E0D;&#x80FD;&#x88AB;&#x56DE;&#x6536;&#x3002;

<span class="hljs-number">2</span>&#x3001;&#x5404;&#x79CD;&#x8FDE;&#x63A5;&#xFF0C;&#x5982;&#x6570;&#x636E;&#x5E93;&#x8FDE;&#x63A5;&#x3001;&#x7F51;&#x7EDC;&#x8FDE;&#x63A5;&#x548C;IO&#x8FDE;&#x63A5;&#x7B49;&#x3002;&#x5728;&#x5BF9;&#x6570;&#x636E;&#x5E93;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x9996;&#x5148;&#x9700;&#x8981;&#x5EFA;&#x7ACB;&#x4E0E;&#x6570;&#x636E;&#x5E93;&#x7684;&#x8FDE;&#x63A5;&#xFF0C;&#x5F53;&#x4E0D;&#x518D;&#x4F7F;&#x7528;&#x65F6;&#xFF0C;&#x9700;&#x8981;&#x8C03;&#x7528;close&#x65B9;&#x6CD5;&#x6765;&#x91CA;&#x653E;&#x4E0E;&#x6570;&#x636E;&#x5E93;&#x7684;&#x8FDE;&#x63A5;&#x3002;&#x53EA;&#x6709;&#x8FDE;&#x63A5;&#x88AB;&#x5173;&#x95ED;&#x540E;&#xFF0C;&#x5783;&#x573E;&#x56DE;&#x6536;&#x5668;&#x624D;&#x4F1A;&#x56DE;&#x6536;&#x5BF9;&#x5E94;&#x7684;&#x5BF9;&#x8C61;&#x3002;&#x5426;&#x5219;&#xFF0C;&#x5982;&#x679C;&#x5728;&#x8BBF;&#x95EE;&#x6570;&#x636E;&#x5E93;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x5BF9;Connection&#x3001;Statement&#x6216;ResultSet&#x4E0D;&#x663E;&#x6027;&#x5730;&#x5173;&#x95ED;&#xFF0C;&#x5C06;&#x4F1A;&#x9020;&#x6210;&#x5927;&#x91CF;&#x7684;&#x5BF9;&#x8C61;&#x65E0;&#x6CD5;&#x88AB;&#x56DE;&#x6536;&#xFF0C;&#x4ECE;&#x800C;&#x5F15;&#x8D77;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x3002;

<span class="hljs-number">3</span>&#x3001;&#x53D8;&#x91CF;&#x4E0D;&#x5408;&#x7406;&#x7684;&#x4F5C;&#x7528;&#x57DF;&#x3002;&#x4E00;&#x822C;&#x800C;&#x8A00;&#xFF0C;&#x4E00;&#x4E2A;&#x53D8;&#x91CF;&#x7684;&#x5B9A;&#x4E49;&#x7684;&#x4F5C;&#x7528;&#x8303;&#x56F4;&#x5927;&#x4E8E;&#x5176;&#x4F7F;&#x7528;&#x8303;&#x56F4;&#xFF0C;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x4F1A;&#x9020;&#x6210;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x3002;&#x53E6;&#x4E00;&#x65B9;&#x9762;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x53CA;&#x65F6;&#x5730;&#x628A;&#x5BF9;&#x8C61;&#x8BBE;&#x7F6E;&#x4E3A;<span class="hljs-literal">null</span>&#xFF0C;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x5BFC;&#x81F4;&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x53D1;&#x751F;&#x3002;

<span class="hljs-number">4</span>&#x3001;&#x5185;&#x90E8;&#x7C7B;&#x6301;&#x6709;&#x5916;&#x90E8;&#x7C7B;&#xFF0C;&#x5982;&#x679C;&#x4E00;&#x4E2A;&#x5916;&#x90E8;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x7684;&#x65B9;&#x6CD5;&#x8FD4;&#x56DE;&#x4E86;&#x4E00;&#x4E2A;&#x5185;&#x90E8;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#xFF0C;&#x8FD9;&#x4E2A;&#x5185;&#x90E8;&#x7C7B;&#x5BF9;&#x8C61;&#x88AB;&#x957F;&#x671F;&#x5F15;&#x7528;&#x4E86;&#xFF0C;&#x5373;&#x4F7F;&#x90A3;&#x4E2A;&#x5916;&#x90E8;&#x7C7B;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x4E0D;&#x518D;&#x88AB;&#x4F7F;&#x7528;&#xFF0C;&#x4F46;&#x7531;&#x4E8E;&#x5185;&#x90E8;&#x7C7B;&#x6301;&#x6709;&#x5916;&#x90E8;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#xFF0C;&#x8FD9;&#x4E2A;&#x5916;&#x90E8;&#x7C7B;&#x5BF9;&#x8C61;&#x5C06;&#x4E0D;&#x4F1A;&#x88AB;&#x5783;&#x573E;&#x56DE;&#x6536;&#xFF0C;&#x8FD9;&#x4E5F;&#x4F1A;&#x9020;&#x6210;&#x5185;&#x5B58;&#x6CC4;&#x9732;&#x3002;

<span class="hljs-number">5</span>&#x3001;&#x6539;&#x53D8;&#x54C8;&#x5E0C;&#x503C;&#xFF0C;&#x5F53;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x88AB;&#x5B58;&#x50A8;&#x8FDB;HashSet&#x96C6;&#x5408;&#x4E2D;&#x4EE5;&#x540E;&#xFF0C;&#x5C31;&#x4E0D;&#x80FD;&#x4FEE;&#x6539;&#x8FD9;&#x4E2A;&#x5BF9;&#x8C61;&#x4E2D;&#x7684;&#x90A3;&#x4E9B;&#x53C2;&#x4E0E;&#x8BA1;&#x7B97;&#x54C8;&#x5E0C;&#x503C;&#x7684;&#x5B57;&#x6BB5;&#x4E86;&#xFF0C;&#x5426;&#x5219;&#xFF0C;&#x5BF9;&#x8C61;&#x4FEE;&#x6539;&#x540E;&#x7684;&#x54C8;&#x5E0C;&#x503C;&#x4E0E;&#x6700;&#x521D;&#x5B58;&#x50A8;&#x8FDB;HashSet&#x96C6;&#x5408;&#x4E2D;&#x65F6;&#x7684;&#x54C8;&#x5E0C;&#x503C;&#x5C31;&#x4E0D;&#x540C;&#x4E86;&#xFF0C;&#x5728;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x5373;&#x4F7F;&#x5728;contains&#x65B9;&#x6CD5;&#x4F7F;&#x7528;&#x8BE5;&#x5BF9;&#x8C61;&#x7684;&#x5F53;&#x524D;&#x5F15;&#x7528;&#x4F5C;&#x4E3A;&#x7684;&#x53C2;&#x6570;&#x53BB;HashSet&#x96C6;&#x5408;&#x4E2D;&#x68C0;&#x7D22;&#x5BF9;&#x8C61;&#xFF0C;&#x4E5F;&#x5C06;&#x8FD4;&#x56DE;&#x627E;&#x4E0D;&#x5230;&#x5BF9;&#x8C61;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x8FD9;&#x4E5F;&#x4F1A;&#x5BFC;&#x81F4;&#x65E0;&#x6CD5;&#x4ECE;HashSet&#x96C6;&#x5408;&#x4E2D;&#x5355;&#x72EC;&#x5220;&#x9664;&#x5F53;&#x524D;&#x5BF9;&#x8C61;&#xFF0C;&#x9020;&#x6210;&#x5185;&#x5B58;&#x6CC4;&#x9732;
<span class="hljs-number">6</span>&#x3001;&#x7F13;&#x5B58;&#x6CC4;&#x6F0F;
&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7684;&#x53E6;&#x4E00;&#x4E2A;&#x5E38;&#x89C1;&#x6765;&#x6E90;&#x662F;&#x7F13;&#x5B58;&#xFF0C;&#x4E00;&#x65E6;&#x4F60;&#x628A;&#x5BF9;&#x8C61;&#x5F15;&#x7528;&#x653E;&#x5165;&#x5230;&#x7F13;&#x5B58;&#x4E2D;&#xFF0C;&#x4ED6;&#x5C31;&#x5F88;&#x5BB9;&#x6613;&#x9057;&#x5FD8;&#xFF0C;&#x5BF9;&#x4E8E;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;WeakHashMap&#x4EE3;&#x8868;&#x7F13;&#x5B58;&#xFF0C;&#x6B64;&#x79CD;<span class="hljs-built_in">Map</span>&#x7684;&#x7279;&#x70B9;&#x662F;&#xFF0C;&#x5F53;&#x9664;&#x4E86;&#x81EA;&#x8EAB;&#x6709;&#x5BF9;key&#x7684;&#x5F15;&#x7528;&#x5916;&#xFF0C;&#x6B64;key&#x6CA1;&#x6709;&#x5176;&#x4ED6;&#x5F15;&#x7528;&#x90A3;&#x4E48;&#x6B64;map&#x4F1A;&#x81EA;&#x52A8;&#x4E22;&#x5F03;&#x6B64;&#x503C;
<span class="hljs-number">7</span>&#x3001;&#x76D1;&#x542C;&#x5668;&#x548C;&#x56DE;&#x8C03;
&#x5185;&#x5B58;&#x6CC4;&#x6F0F;&#x7B2C;&#x4E09;&#x4E2A;&#x5E38;&#x89C1;&#x6765;&#x6E90;&#x662F;&#x76D1;&#x542C;&#x5668;&#x548C;&#x5176;&#x4ED6;&#x56DE;&#x8C03;&#xFF0C;&#x5982;&#x679C;&#x5BA2;&#x6237;&#x7AEF;&#x5728;&#x4F60;&#x5B9E;&#x73B0;&#x7684;API&#x4E2D;&#x6CE8;&#x518C;&#x56DE;&#x8C03;&#xFF0C;&#x5374;&#x6CA1;&#x6709;&#x663E;&#x793A;&#x7684;&#x53D6;&#x6D88;&#xFF0C;&#x90A3;&#x4E48;&#x5C31;&#x4F1A;&#x79EF;&#x805A;&#x3002;&#x9700;&#x8981;&#x786E;&#x4FDD;&#x56DE;&#x8C03;&#x7ACB;&#x5373;&#x88AB;&#x5F53;&#x4F5C;&#x5783;&#x573E;&#x56DE;&#x6536;&#x7684;&#x6700;&#x4F73;&#x65B9;&#x6CD5;&#x662F;&#x53EA;&#x4FDD;&#x5B58;&#x4ED6;&#x7684;&#x82E5;&#x5F15;&#x7528;&#xFF0C;&#x4F8B;&#x5982;&#x5C06;&#x4ED6;&#x4EEC;&#x4FDD;&#x5B58;&#x6210;&#x4E3A;WeakHashMap&#x4E2D;&#x7684;&#x952E;&#x3002;
</code></pre>
                                    <h3
                                        id="104-&#x2605;&#x2605;&#x2605;-promise-&#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C;-all-&#x548C;-race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;">
                                        <a name="104-&#x2605;&#x2605;&#x2605;-promise-&#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C;-all-&#x548C;-race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#104-&#x2605;&#x2605;&#x2605;-promise-&#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C;-all-&#x548C;-race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="104-&#x2605;&#x2605;&#x2605;-promise-&#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C;-all-&#x548C;-race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;"
                                            class="plugin-anchor"
                                            href="#104-&#x2605;&#x2605;&#x2605;-promise-&#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C;-all-&#x548C;-race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-104"> 104. &#x2605;&#x2605;&#x2605; promise
                                            &#x5E38;&#x89C1;&#x65B9;&#x6CD5;&#x548C; all &#x548C;
                                            race&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-built_in">Promise</span>.race&#xFF08;&#xFF09;&#xFF1A;
race&#x7684;&#x7528;&#x6CD5;&#xFF1A;&#x8C01;&#x8DD1;&#x7684;&#x5FEB;&#xFF0C;&#x4EE5;&#x8C01;&#x4E3A;&#x51C6;&#x6267;&#x884C;&#x56DE;&#x8C03;&#x3002;

race&#x7684;&#x4F7F;&#x7528;&#x573A;&#x666F;&#xFF1A;&#x6BD4;&#x5982;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7528;race&#x7ED9;&#x67D0;&#x4E2A;&#x5F02;&#x6B65;&#x8BF7;&#x6C42;&#x8BBE;&#x7F6E;&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#xFF0C;&#x5E76;&#x4E14;&#x5728;&#x8D85;&#x65F6;&#x540E;&#x6267;&#x884C;&#x76F8;&#x5E94;&#x7684;&#x64CD;&#x4F5C;

<span class="hljs-built_in">Promise</span>.all():
all&#x7684;&#x7528;&#x6CD5;&#xFF1A;&#x8C01;&#x8DD1;&#x7684;&#x6162;&#xFF0C;&#x4EE5;&#x8C01;&#x4E3A;&#x51C6;&#x6267;&#x884C;&#x56DE;&#x8C03;&#x3002;

&#x5728;&#x524D;&#x7AEF;&#x7684;&#x5F00;&#x53D1;&#x5B9E;&#x8DF5;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x6709;&#x65F6;&#x4F1A;&#x9047;&#x5230;&#x9700;&#x8981;&#x53D1;&#x9001;&#x591A;&#x4E2A;&#x8BF7;&#x6C42;&#x5E76;&#x6839;&#x636E;&#x8BF7;&#x6C42;&#x987A;&#x5E8F;&#x8FD4;&#x56DE;&#x6570;&#x636E;&#x7684;&#x9700;&#x6C42;
</code></pre>
                                    <h3
                                        id="105-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-es6-&#x4E2D;-set-map&#x7684;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="105-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-es6-&#x4E2D;-set-map&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#105-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-es6-&#x4E2D;-set-map&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="105-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-es6-&#x4E2D;-set-map&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#105-&#x2605;&#x2605;&#x2605;-&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;-es6-&#x4E2D;-set-map&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-105"> 105. &#x2605;&#x2605;&#x2605; &#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;
                                            ES6 &#x4E2D; Set, Map&#x7684;&#x533A;&#x522B;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-built_in">Map</span>
&#x5728;JS&#x4E2D;&#x7684;&#x9ED8;&#x8BA4;&#x5BF9;&#x8C61;&#x7684;&#x8868;&#x793A;&#x65B9;&#x5F0F;&#x4E3A;{}&#xFF0C;&#x5373;&#x4E00;&#x7EC4;&#x952E;&#x503C;&#x5BF9;&#xFF0C;&#x4F46;&#x662F;&#x952E;&#x5FC5;&#x987B;&#x662F;&#x5B57;&#x7B26;&#x4E32;&#x3002;
&#x4E3A;&#x4E86;&#x4F7F;&#x7528;<span class="hljs-built_in">Number</span>&#x6216;&#x8005;&#x5176;&#x4ED6;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x4F5C;&#x4E3A;&#x952E;&#xFF0C;ES6&#x89C4;&#x8303;&#x5F15;&#x5165;&#x4E86;&#x65B0;&#x7684;&#x6570;&#x636E;&#x7C7B;&#x578B;<span class="hljs-built_in">Map</span>&#x3002;
<span class="hljs-built_in">Map</span>&#x662F;&#x4E00;&#x7EC4;&#x952E;&#x503C;&#x5BF9;&#x7684;&#x7ED3;&#x6784;&#xFF0C;&#x5177;&#x6709;&#x6781;&#x5FEB;&#x7684;&#x67E5;&#x627E;&#x901F;&#x5EA6;&#x3002;&#x521D;&#x59CB;&#x5316;<span class="hljs-built_in">Map</span>&#x9700;&#x8981;&#x4E00;&#x4E2A;&#x4E8C;&#x7EF4;&#x6570;&#x7EC4;&#xFF0C;&#x6216;&#x8005;&#x76F4;&#x63A5;&#x521D;&#x59CB;&#x5316;&#x4E00;&#x4E2A;&#x7A7A;<span class="hljs-built_in">Map</span>&#x3002;
<span class="hljs-built_in">Map</span> &#x5BF9;&#x8C61;&#x662F;&#x952E;&#x503C;&#x5BF9;&#x96C6;&#x5408;&#xFF0C;&#x548C; <span class="hljs-built_in">JSON</span> &#x5BF9;&#x8C61;&#x7C7B;&#x4F3C;&#xFF0C;&#x4F46;&#x662F; key &#x4E0D;&#x4EC5;&#x53EF;&#x4EE5;&#x662F;&#x5B57;&#x7B26;&#x4E32;&#x8FD8;&#x53EF;&#x4EE5;&#x662F;&#x5176;&#x4ED6;&#x5404;&#x79CD;&#x7C7B;&#x578B;&#x7684;&#x503C;&#x5305;&#x62EC;&#x5BF9;&#x8C61;&#x90FD;&#x53EF;&#x4EE5;&#x6210;&#x4E3A;<span class="hljs-built_in">Map</span>&#x7684;&#x952E;

<span class="hljs-built_in">Set</span>
<span class="hljs-built_in">Set</span>&#x4E5F;&#x662F;&#x4E00;&#x7EC4;key&#x7684;&#x96C6;&#x5408;&#xFF0C;&#x4E0E;<span class="hljs-built_in">Map</span>&#x7C7B;&#x4F3C;&#x3002;&#x4F46;&#x662F;&#x533A;&#x522B;&#x662F;<span class="hljs-built_in">Set</span>&#x4E0D;&#x5B58;&#x50A8;value&#xFF0C;&#x5E76;&#x4E14;&#x5B83;&#x7684;key&#x4E0D;&#x80FD;&#x91CD;&#x590D;&#x3002;
&#x521B;&#x5EFA;&#x4E00;&#x4E2A;<span class="hljs-built_in">Set</span>&#xFF0C;&#x9700;&#x8981;&#x63D0;&#x4F9B;&#x4E00;&#x4E2A;<span class="hljs-built_in">Array</span>&#x4F5C;&#x4E3A;&#x8F93;&#x5165;&#xFF0C;&#x6216;&#x8005;&#x76F4;&#x63A5;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x7A7A;<span class="hljs-built_in">Set</span>&#xFF1A;
&#x91CD;&#x590D;&#x5143;&#x7D20;&#x4F1A;&#x5728;<span class="hljs-built_in">Set</span>&#x4E2D;&#x81EA;&#x52A8;&#x88AB;&#x8FC7;&#x6EE4;
<span class="hljs-built_in">Set</span> &#x5BF9;&#x8C61;&#x7C7B;&#x4F3C;&#x4E8E;&#x6570;&#x7EC4;&#xFF0C;&#x4E14;&#x6210;&#x5458;&#x7684;&#x503C;&#x90FD;&#x662F;&#x552F;&#x4E00;&#x7684;
</code></pre>
                                    <h3
                                        id="106-&#x2605;&#x2605;-&#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="106-&#x2605;&#x2605;-&#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#106-&#x2605;&#x2605;-&#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="106-&#x2605;&#x2605;-&#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#106-&#x2605;&#x2605;-&#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-106"> 106. &#x2605;&#x2605;
                                            &#x5E76;&#x884C;&#x548C;&#x5E76;&#x53D1;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x5E76;&#x884C;&#x610F;&#x5473;&#x7740;&#x53EF;&#x4EE5;&#x540C;&#x65F6;&#x53D6;&#x5F97;&#x591A;&#x4E2A;&#x4EFB;&#x52A1;&#xFF0C;&#x5E76;&#x540C;&#x65F6;&#x53BB;&#x6267;&#x884C;&#x6240;&#x53D6;&#x5F97;&#x7684;&#x8FD9;&#x4E9B;&#x4EFB;&#x52A1;&#x3002;&#x5E76;&#x884C;&#x6A21;&#x5F0F;&#x76F8;&#x5F53;&#x4E8E;&#x5C06;&#x957F;&#x957F;&#x7684;&#x4E00;&#x6761;&#x961F;&#x5217;&#xFF0C;&#x5212;&#x5206;&#x6210;&#x4E86;&#x591A;&#x6761;&#x77ED;&#x961F;&#x5217;&#xFF0C;&#x6240;&#x4EE5;&#x5E76;&#x884C;&#x7F29;&#x77ED;&#x4E86;&#x4EFB;&#x52A1;&#x961F;&#x5217;&#x7684;&#x957F;&#x5EA6;

&#x5E76;&#x53D1;&#x8868;&#x793A;&#x591A;&#x4E2A;&#x4EFB;&#x52A1;&#x540C;&#x65F6;&#x90FD;&#x8981;&#x6267;&#x884C;
</code></pre>
                                    <h3
                                        id="107-&#x2605;&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C;-dom-&#x6162;&#xFF1F;">
                                        <a name="107-&#x2605;&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C;-dom-&#x6162;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#107-&#x2605;&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C;-dom-&#x6162;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="107-&#x2605;&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C;-dom-&#x6162;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#107-&#x2605;&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C;-dom-&#x6162;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-107"> 107. &#x2605;&#x2605;&#x2605;
                                            &#x4E3A;&#x4EC0;&#x4E48;&#x64CD;&#x4F5C; dom &#x6162;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS">DOM&#x5BF9;&#x8C61;&#x672C;&#x8EAB;&#x4E5F;&#x662F;&#x4E00;&#x4E2A;js&#x5BF9;&#x8C61;&#xFF0C;&#x6240;&#x4EE5;&#x4E25;&#x683C;&#x6765;&#x8BF4;&#xFF0C;&#x5E76;&#x4E0D;&#x662F;&#x64CD;&#x4F5C;&#x8FD9;&#x4E2A;&#x5BF9;&#x8C61;&#x6162;&#xFF0C;&#x800C;&#x662F;&#x8BF4;&#x64CD;&#x4F5C;&#x4E86;&#x8FD9;&#x4E2A;&#x5BF9;&#x8C61;&#x540E;&#xFF0C;&#x9700;&#x8981;&#x7ECF;&#x8FC7;&#x8DE8;&#x6D41;&#x7A0B;&#x901A;&#x4FE1;&#x548C;&#x6E32;&#x67D3;&#x7EBF;&#x7A0B;&#x89E6;&#x53D1;&#x7684;&#x91CD;&#x65B0;&#x6E32;&#x67D3;&#xFF0C;&#x5BFC;&#x81F4;DOM&#x64CD;&#x4F5C;&#x6162;
JS&#x5F15;&#x64CE;&#x548C;&#x548C;&#x6E32;&#x67D3;&#x5F15;&#x64CE;&#x7684;&#x6A21;&#x5757;&#x5316;&#x8BBE;&#x8BA1;&#xFF0C;&#x4F7F;&#x5F97;&#x5B83;&#x4EEC;&#x53EF;&#x4EE5;&#x72EC;&#x7ACB;&#x4F18;&#x5316;&#xFF0C;&#x8FD0;&#x884C;&#x901F;&#x5EA6;&#x66F4;&#x5FEB;&#xFF0C;&#x4F46;&#x662F;&#x8FD9;&#x79CD;&#x8BBE;&#x8BA1;&#x5E26;&#x6765;&#x7684;&#x540E;&#x679C;&#x5C31;&#x662F;DOM&#x64CD;&#x4F5C;&#x4F1A;&#x8D8A;&#x6765;&#x8D8A;&#x6162;
</code></pre>
                                    <h3
                                        id="108-&#x2605;&#x2605;&#x2605;&#x2605;-&#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A;-dom-&#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;">
                                        <a name="108-&#x2605;&#x2605;&#x2605;&#x2605;-&#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A;-dom-&#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#108-&#x2605;&#x2605;&#x2605;&#x2605;-&#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A;-dom-&#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="108-&#x2605;&#x2605;&#x2605;&#x2605;-&#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A;-dom-&#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#108-&#x2605;&#x2605;&#x2605;&#x2605;-&#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A;-dom-&#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-108"> 108. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x63D2;&#x5165;&#x51E0;&#x4E07;&#x4E2A; dom
                                            &#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x9875;&#x9762;&#x4E0D;&#x5361;&#x987F;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x8BA9;&#x521B;&#x5EFA;&#x63D2;&#x5165;&#x8282;&#x70B9;&#x7684;&#x5DE5;&#x4F5C;&#x5206;&#x6279;&#x8FDB;&#x884C;&#xFF1A;
setTimeout(() =&gt; {
    <span class="hljs-comment">// &#x63D2;&#x5165;&#x5341;&#x4E07;&#x6761;&#x6570;&#x636E;</span>
    <span class="hljs-keyword">const</span> total = <span class="hljs-number">100000</span>;
    <span class="hljs-comment">// &#x4E00;&#x6B21;&#x63D2;&#x5165; 20 &#x6761;&#xFF0C;&#x5982;&#x679C;&#x89C9;&#x5F97;&#x6027;&#x80FD;&#x4E0D;&#x597D;&#x5C31;&#x51CF;&#x5C11;</span>
    <span class="hljs-keyword">const</span> once = <span class="hljs-number">20</span>;
    <span class="hljs-comment">// &#x6E32;&#x67D3;&#x6570;&#x636E;&#x603B;&#x5171;&#x9700;&#x8981;&#x51E0;&#x6B21;</span>
    <span class="hljs-keyword">const</span> loopCount = total / once;
    <span class="hljs-keyword">let</span> countOfRender = <span class="hljs-number">0</span>
    <span class="hljs-keyword">let</span> ul = <span class="hljs-built_in">document</span>.querySelector(<span class="hljs-string">&quot;ul&quot;</span>);
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add</span>(<span class="hljs-params"></span>) </span>{
        <span class="hljs-comment">// &#x4F18;&#x5316;&#x6027;&#x80FD;&#xFF0C;&#x63D2;&#x5165;&#x4E0D;&#x4F1A;&#x9020;&#x6210;&#x56DE;&#x6D41;</span>
        <span class="hljs-keyword">const</span> fragment = <span class="hljs-built_in">document</span>.createDocumentFragment();
        <span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> i = <span class="hljs-number">0</span>; i &lt; once; i++) {
            <span class="hljs-keyword">const</span> li = <span class="hljs-built_in">document</span>.createElement(<span class="hljs-string">&quot;li&quot;</span>);
            li.innerText = <span class="hljs-built_in">Math</span>.floor(<span class="hljs-built_in">Math</span>.random() * total);
            fragment.appendChild(li);
        }
        ul.appendChild(fragment);
        countOfRender += <span class="hljs-number">1</span>;
        loop();
    }
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">loop</span>(<span class="hljs-params"></span>) </span>{
        <span class="hljs-keyword">if</span> (countOfRender &lt; loopCount) {
            <span class="hljs-built_in">window</span>.requestAnimationFrame(add);
        }
    }
    loop();
}, <span class="hljs-number">0</span>);
</code></pre>
                                    <h3
                                        id="109-&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;">
                                        <a name="109-&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#109-&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="109-&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;"
                                            class="plugin-anchor"
                                            href="#109-&#x2605;&#x2605;&#x2605;-js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-109"> 109. &#x2605;&#x2605;&#x2605;
                                            js&#x4E2D;&#x7684;&#x5E38;&#x7528;&#x4E8B;&#x4EF6;&#x7ED1;&#x5B9A;&#x65B9;&#x6CD5;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x5728;DOM&#x5143;&#x7D20;&#x4E2D;&#x76F4;&#x63A5;&#x7ED1;&#x5B9A;
<span class="hljs-number">2.</span> &#x5728;JavaScript&#x4EE3;&#x7801;&#x4E2D;&#x7ED1;&#x5B9A;
<span class="hljs-number">3.</span> &#x7ED1;&#x5B9A;&#x4E8B;&#x4EF6;&#x76D1;&#x542C;&#x51FD;&#x6570;
</code></pre>
                                    <h3
                                        id="110-&#x2605;-&#x7B80;&#x8FF0;-src-&#x548C;-href-&#x7684;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="110-&#x2605;-&#x7B80;&#x8FF0;-src-&#x548C;-href-&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#110-&#x2605;-&#x7B80;&#x8FF0;-src-&#x548C;-href-&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="110-&#x2605;-&#x7B80;&#x8FF0;-src-&#x548C;-href-&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#110-&#x2605;-&#x7B80;&#x8FF0;-src-&#x548C;-href-&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-110"> 110. &#x2605; &#x7B80;&#x8FF0; src &#x548C; href
                                            &#x7684;&#x533A;&#x522B;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS">src&#x7528;&#x4E8E;&#x66FF;&#x6362;&#x5F53;&#x524D;&#x5143;&#x7D20;&#xFF0C;href&#x7528;&#x4E8E;&#x5728;&#x5F53;&#x524D;&#x6587;&#x6863;&#x548C;&#x5F15;&#x7528;&#x8D44;&#x6E90;&#x4E4B;&#x95F4;&#x786E;&#x7ACB;&#x8054;&#x7CFB;
</code></pre>
                                    <h3
                                        id="111-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="111-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#111-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="111-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#111-&#x2605;&#x2605;&#x2605;&#x2605;-&#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-111"> 111. &#x2605;&#x2605;&#x2605;&#x2605;
                                            &#x4F60;&#x77E5;&#x9053;&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#x5417;&#xFF1F;&#x6211;&#x4EEC;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#x5462;&#xFF1F;&#x6216;&#x8005;&#x8BF4;&#x539F;&#x578B;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x4EC0;&#x4E48;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x4EC0;&#x4E48;&#x662F;&#x539F;&#x578B;&#xFF1A;
Javascript&#x89C4;&#x5B9A;&#xFF0C;&#x6BCF;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x90FD;&#x6709;&#x4E00;&#x4E2A;prototype&#x5BF9;&#x8C61;&#x5C5E;&#x6027;&#xFF0C;&#x6307;&#x5411;&#x53E6;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#xFF08;&#x539F;&#x578B;&#x94FE;&#x4E0A;&#x9762;&#x7684;&#xFF09;&#x3002;
prototype(&#x5BF9;&#x8C61;&#x5C5E;&#x6027;)&#x7684;&#x6240;&#x6709;&#x5C5E;&#x6027;&#x548C;&#x65B9;&#x6CD5;&#xFF0C;&#x90FD;&#x4F1A;&#x88AB;&#x6784;&#x9020;&#x51FD;&#x6570;&#x7684;&#x5B9E;&#x4F8B;&#x7EE7;&#x627F;&#x3002;&#x8FD9;&#x610F;&#x5473;&#x7740;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x628A;&#x90A3;&#x4E9B;&#x4E0D;&#x53D8;(&#x516C;&#x7528;)&#x7684;&#x5C5E;&#x6027;&#x548C;&#x65B9;&#x6CD5;&#xFF0C;&#x76F4;&#x63A5;&#x5B9A;&#x4E49;&#x5728;prototype&#x5BF9;&#x8C61;&#x5C5E;&#x6027;&#x4E0A;&#x3002;

prototype&#x5C31;&#x662F;&#x8C03;&#x7528;&#x6784;&#x9020;&#x51FD;&#x6570;&#x6240;&#x521B;&#x5EFA;&#x7684;&#x90A3;&#x4E2A;&#x5B9E;&#x4F8B;&#x5BF9;&#x8C61;&#x7684;&#x539F;&#x578B;&#xFF08;proto&#xFF09;&#x3002;

prototype&#x53EF;&#x4EE5;&#x8BA9;&#x6240;&#x6709;&#x5BF9;&#x8C61;&#x5B9E;&#x4F8B;&#x5171;&#x4EAB;&#x5B83;&#x6240;&#x5305;&#x542B;&#x7684;&#x5C5E;&#x6027;&#x548C;&#x65B9;&#x6CD5;&#x3002;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#xFF0C;&#x4E0D;&#x5FC5;&#x5728;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4E2D;&#x5B9A;&#x4E49;&#x5BF9;&#x8C61;&#x4FE1;&#x606F;&#xFF0C;&#x800C;&#x662F;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x5C06;&#x8FD9;&#x4E9B;&#x4FE1;&#x606F;&#x6DFB;&#x52A0;&#x5230;&#x539F;&#x578B;&#x4E2D;&#x3002;

&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x7528;&#x539F;&#x578B;&#xFF1A;&#x4F7F;&#x7528;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x89E3;&#x51B3;&#x6D6A;&#x8D39;&#x5185;&#x5B58;
</code></pre>
                                    <h3
                                        id="112-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;-&#x4F60;&#x80FD;&#x8BF4;&#x8BF4;-prototype-&#x4E0E;-proto-&#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;">
                                        <a name="112-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;-&#x4F60;&#x80FD;&#x8BF4;&#x8BF4;-prototype-&#x4E0E;-proto-&#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#112-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;-&#x4F60;&#x80FD;&#x8BF4;&#x8BF4;-prototype-&#x4E0E;-proto-&#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="112-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;-&#x4F60;&#x80FD;&#x8BF4;&#x8BF4;-prototype-&#x4E0E;-proto-&#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#112-&#x2605;&#x2605;&#x2605;-&#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;-&#x4F60;&#x80FD;&#x8BF4;&#x8BF4;-prototype-&#x4E0E;-proto-&#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-112"> 112. &#x2605;&#x2605;&#x2605;
                                            &#x4F60;&#x4E86;&#x89E3;&#x539F;&#x578B;&#x94FE;&#x5417;
                                            &#x4F60;&#x80FD;&#x8BF4;&#x8BF4; prototype &#x4E0E; <strong>proto</strong>
                                            &#x7684;&#x533A;&#x522B;&#x5417;&#xFF1F;</p>
                                    </h3>
                                    <p><img src="https://pic1.zhimg.com/80/e83bca5f1d1e6bf359d1f75727968c11_1440w.jpg?source=1940ef5c"
                                            alt="img"></p>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span>&#x5BF9;&#x8C61;&#x6709;&#x5C5E;&#x6027;__proto__,&#x6307;&#x5411;&#x8BE5;&#x5BF9;&#x8C61;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x7684;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x3002;
<span class="hljs-number">2.</span>&#x65B9;&#x6CD5;&#x9664;&#x4E86;&#x6709;&#x5C5E;&#x6027;__proto__,&#x8FD8;&#x6709;&#x5C5E;&#x6027;prototype&#xFF0C;prototype&#x6307;&#x5411;&#x8BE5;&#x65B9;&#x6CD5;&#x7684;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x3002;
</code></pre>
                                    <h3 id="113-&#x2605;&#x2605;&#x2605;-ts-&#x548C;-js-&#x7684;&#x533A;&#x522B;"><a
                                            name="113-&#x2605;&#x2605;&#x2605;-ts-&#x548C;-js-&#x7684;&#x533A;&#x522B;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#113-&#x2605;&#x2605;&#x2605;-ts-&#x548C;-js-&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="113-&#x2605;&#x2605;&#x2605;-ts-&#x548C;-js-&#x7684;&#x533A;&#x522B;"
                                            class="plugin-anchor"
                                            href="#113-&#x2605;&#x2605;&#x2605;-ts-&#x548C;-js-&#x7684;&#x533A;&#x522B;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-113"> 113. &#x2605;&#x2605;&#x2605; ts &#x548C; js
                                            &#x7684;&#x533A;&#x522B;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span>ts&#x662F;&#x9759;&#x6001;&#x7C7B;&#x8BED;&#x8A00;&#xFF0C;&#x53EF;&#x4EE5;&#x505A;&#x5230;&#x58F0;&#x660E;&#x5373;&#x6587;&#x6863;&#xFF0C;js&#x662F;&#x52A8;&#x6001;&#x7C7B;&#x8BED;&#x8A00;&#x76F8;&#x5BF9;&#x66F4;&#x7075;&#x6D3B;&#x3002;
<span class="hljs-number">2.</span>&#x5982;&#x7528;ts&#x5199;&#x4E00;&#x4E2A;button&#x7EC4;&#x4EF6;&#x53EF;&#x4EE5;&#x6E05;&#x6670;&#x7684;&#x77E5;&#x9053;&#xFF0C;ButtonProps&#x5982;&#x662F;&#x5426;&#x5FC5;&#x4F20;&#xFF0C;&#x53EF;&#x9009;&#xFF0C;style&#x662F;&#x4EC0;&#x4E48;&#x7C7B;&#x578B;&#xFF0C;disabled&#x662F;&#x4EC0;&#x4E48;&#x7C7B;&#x578B;&#xFF0C;&#x8F83;js&#xFF0C;ts&#x66F4;&#x6613;&#x4E8E;&#x7EF4;&#x62A4;&#x548C;&#x62D3;&#x5C55;&#xFF0C;&#x53EF;&#x4EE5;&#x505A;&#x5230;&#x4EE3;&#x7801;&#x5373;&#x6CE8;&#x91CA;&#xFF0C;&#x907F;&#x514D;&#x4E00;&#x4E2A;&#x6708;&#x4E0D;&#x89C1;<span class="hljs-number">3</span>&#xFF0C;&#x4EE3;&#x7801;&#x81EA;&#x5DF1;&#x90FD;&#x5FD8;&#x8BB0;&#x81EA;&#x5DF1;&#x5199;&#x4E86;&#x4EC0;&#x4E48;&#x7684;&#x5C34;&#x5C2C;&#xFF0C;
<span class="hljs-number">4.</span>ts&#x5BF9;&#x6BD4;js&#x57FA;&#x7840;&#x7C7B;&#x578B;&#x4E0A;&#xFF0C;&#x589E;&#x52A0;&#x4E86; <span class="hljs-keyword">void</span>/never/any/&#x5143;&#x7EC4;/&#x679A;&#x4E3E;/&#x4EE5;&#x53CA;&#x4E00;&#x4E9B;&#x9AD8;&#x7EA7;&#x7C7B;&#x578B;
<span class="hljs-number">5.</span>js&#x6CA1;&#x6709;&#x91CD;&#x8F7D;&#x6982;&#x5FF5;&#xFF0C;ts&#x6709;&#x53EF;&#x4EE5;&#x91CD;&#x8F7D;
<span class="hljs-number">6.</span>vscode/ide&#x5BF9;ts&#x6709;&#x5F88;&#x53CB;&#x597D;&#x7684;&#x63D0;&#x793A;
<span class="hljs-number">7.</span>ts&#x66F4;&#x5229;&#x4E8E;&#x91CD;&#x6784;
</code></pre>
                                    <h3
                                        id="114-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x539F;&#x751F;-js-&#x53D1;-ajax-&#x7684;&#x6B65;&#x9AA4;">
                                        <a name="114-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x539F;&#x751F;-js-&#x53D1;-ajax-&#x7684;&#x6B65;&#x9AA4;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#114-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x539F;&#x751F;-js-&#x53D1;-ajax-&#x7684;&#x6B65;&#x9AA4;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="114-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x539F;&#x751F;-js-&#x53D1;-ajax-&#x7684;&#x6B65;&#x9AA4;"
                                            class="plugin-anchor"
                                            href="#114-&#x2605;&#x2605;&#x2605;-&#x7B80;&#x8FF0;&#x539F;&#x751F;-js-&#x53D1;-ajax-&#x7684;&#x6B65;&#x9AA4;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-114"> 114. &#x2605;&#x2605;&#x2605; &#x7B80;&#x8FF0;&#x539F;&#x751F;
                                            js &#x53D1; ajax &#x7684;&#x6B65;&#x9AA4;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span>&#x521B;&#x5EFA;XMLHTTPRequest&#x5BF9;&#x8C61;

<span class="hljs-number">2.</span>&#x4F7F;&#x7528;open&#x65B9;&#x6CD5;&#x8BBE;&#x7F6E;&#x548C;&#x670D;&#x52A1;&#x5668;&#x7684;&#x4EA4;&#x4E92;&#x4FE1;&#x606F;

<span class="hljs-number">3.</span>&#x8BBE;&#x7F6E;&#x53D1;&#x9001;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x5F00;&#x59CB;&#x548C;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x4EA4;&#x4E92;

<span class="hljs-number">4.</span>&#x6CE8;&#x518C;&#x4E8B;&#x4EF6;

<span class="hljs-number">5.</span>&#x66F4;&#x65B0;&#x754C;&#x9762;
</code></pre>
                                    <h3
                                        id="115-&#x2605;&#x2605;-&#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709;-prototype-&#x4E00;&#x8BF4;&#xFF1F;">
                                        <a name="115-&#x2605;&#x2605;-&#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709;-prototype-&#x4E00;&#x8BF4;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#115-&#x2605;&#x2605;-&#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709;-prototype-&#x4E00;&#x8BF4;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="115-&#x2605;&#x2605;-&#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709;-prototype-&#x4E00;&#x8BF4;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#115-&#x2605;&#x2605;-&#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709;-prototype-&#x4E00;&#x8BF4;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-115"> 115. &#x2605;&#x2605;
                                            &#x662F;&#x5426;&#x6240;&#x6709;&#x51FD;&#x6570;&#x90FD;&#x6709; prototype
                                            &#x4E00;&#x8BF4;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1.</span> &#x4F7F;&#x7528;<span class="hljs-built_in">Function</span>.prototype.bind&#x521B;&#x5EFA;&#x7684;&#x51FD;&#x6570;&#x5BF9;&#x8C61;
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">abc</span>(<span class="hljs-params"></span>)</span>{<span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;abc&apos;</span>)}
<span class="hljs-keyword">var</span> binded = abc.bind(<span class="hljs-literal">null</span>)
binded() <span class="hljs-comment">//abc</span>
<span class="hljs-built_in">console</span>.log(binded.prototype) <span class="hljs-comment">//undefined</span>

<span class="hljs-number">2.</span> &#x7BAD;&#x5934;&#x51FD;&#x6570;&#x4E5F;&#x6CA1;&#x6709;
<span class="hljs-keyword">var</span> abc = ()=&gt;{<span class="hljs-built_in">console</span>.log(<span class="hljs-string">&apos;abc&apos;</span>)}
abc() <span class="hljs-comment">//abc</span>
<span class="hljs-built_in">console</span>.log(abc.prototype) <span class="hljs-comment">//undefined</span>
</code></pre>
                                    <h3
                                        id="116-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-await-&#x5728;-foreach-&#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;">
                                        <a name="116-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-await-&#x5728;-foreach-&#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#116-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-await-&#x5728;-foreach-&#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="116-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-await-&#x5728;-foreach-&#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#116-&#x2605;&#x2605;-&#x4E3A;&#x4EC0;&#x4E48;-await-&#x5728;-foreach-&#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-116"> 116. &#x2605;&#x2605; &#x4E3A;&#x4EC0;&#x4E48; await &#x5728;
                                            forEach
                                            &#x4E2D;&#x4E0D;&#x751F;&#x6548;&#xFF1F;&#x5982;&#x4F55;&#x89E3;&#x51B3;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-JS">lodash&#x7684;forEach&#x548C;[].forEach&#x4E0D;&#x652F;&#x6301;<span class="hljs-keyword">await</span>, forEach &#x53EA;&#x652F;&#x6301;&#x540C;&#x6B65;&#x4EE3;&#x7801;&#x3002;

&#x89E3;&#x51B3;&#x65B9;&#x6CD5;<span class="hljs-number">1</span>&#xFF1A;&#x4F7F;&#x7528; <span class="hljs-keyword">for</span>...of
&#x89E3;&#x51B3;&#x65B9;&#x6CD5;<span class="hljs-number">2</span>&#xFF1A;&#x4F7F;&#x7528; <span class="hljs-keyword">for</span>&#x5FAA;&#x73AF;
&#x89E3;&#x51B3;&#x65B9;&#x6CD5;<span class="hljs-number">3</span>&#xFF1A;&#x8BA9;orEach&#x652F;&#x6301;<span class="hljs-keyword">async</span> <span class="hljs-keyword">await</span>

forEach &#x5728;&#x6B63;&#x5E38;&#x60C5;&#x51B5;&#x50CF;&#x4E0B;&#x9762;&#x8FD9;&#x4E48;&#x5199;&#x80AF;&#x5B9A;&#x662F;&#x505A;&#x4E0D;&#x5230;&#x540C;&#x6B65;&#x7684;&#xFF0C;&#x7A0B;&#x5E8F;&#x4E0D;&#x4F1A;&#x7B49;&#x4E00;&#x4E2A;&#x5FAA;&#x73AF;&#x4E2D;&#x7684;&#x5F02;&#x6B65;&#x5B8C;&#x6210;&#x518D;&#x8FDB;&#x884C;&#x4E0B;&#x4E00;&#x4E2A;&#x5FAA;&#x73AF;&#x3002;&#x539F;&#x56E0;&#x5F88;&#x660E;&#x663E;&#xFF0C;&#x5728;&#x4E0A;&#x9762;&#x7684;&#x6A21;&#x62DF;&#x4E2D;&#xFF0C;<span class="hljs-keyword">while</span> &#x5FAA;&#x73AF;&#x53EA;&#x662F;&#x7B80;&#x5355;&#x6267;&#x884C;&#x4E86; callback&#xFF0C;&#x6240;&#x4EE5;&#x5C3D;&#x7BA1; callback &#x5185;&#x4F7F;&#x7528;&#x4E86; <span class="hljs-keyword">await</span> &#xFF0C;&#x4E5F;&#x53EA;&#x662F;&#x5F71;&#x54CD;&#x5230; callback &#x5185;&#x90E8;&#x3002;

arr.myforeach(<span class="hljs-keyword">async</span> v =&gt; {
    <span class="hljs-keyword">await</span> fetch(v);
});
&#x8981;&#x652F;&#x6301;&#x4E0A;&#x9762;&#x8FD9;&#x79CD;&#x5199;&#x6CD5;&#xFF0C;&#x53EA;&#x8981;&#x7A0D;&#x5FAE;&#x6539;&#x4E00;&#x4E0B;&#x5C31;&#x597D;

<span class="hljs-built_in">Array</span>.prototype.myforeach = <span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">fn, context = null</span>) </span>{
    <span class="hljs-keyword">let</span> index = <span class="hljs-number">0</span>;
    <span class="hljs-keyword">let</span> arr = <span class="hljs-keyword">this</span>;
    <span class="hljs-keyword">if</span> (<span class="hljs-keyword">typeof</span> fn !== <span class="hljs-string">&apos;function&apos;</span>) {
        <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">TypeError</span>(fn + <span class="hljs-string">&apos; is not a function&apos;</span>);
    }
    <span class="hljs-keyword">while</span> (index &lt; arr.length) {
        <span class="hljs-keyword">if</span> (index <span class="hljs-keyword">in</span> arr) {
            <span class="hljs-keyword">try</span> {
                <span class="hljs-keyword">await</span> fn.call(context, arr[index], index, arr);
            } <span class="hljs-keyword">catch</span> (e) {
                <span class="hljs-built_in">console</span>.log(e);
            }
        }
        index ++;
    }
};
</code></pre>
                                    <h3
                                        id="117-&#x2605;-a-&#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528;-href-&#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;">
                                        <a name="117-&#x2605;-a-&#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528;-href-&#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#117-&#x2605;-a-&#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528;-href-&#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="117-&#x2605;-a-&#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528;-href-&#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#117-&#x2605;-a-&#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528;-href-&#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-117"> 117. &#x2605; a
                                            &#x6807;&#x7B7E;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x7981;&#x7528; href
                                            &#x8DF3;&#x8F6C;&#x9875;&#x9762;&#x6216;&#x5B9A;&#x4F4D;&#x94FE;&#x63A5;&#xFF1F;
                                        </p>
                                    </h3>
                                    <pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">&quot;#&quot;</span> <span class="hljs-attr">onclick</span>=<span class="hljs-string">&quot;return false;&quot;</span>&gt;</span>return false;<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">&quot;http://www.baidu.com&quot;</span> <span class="hljs-attr">onclick</span>=<span class="hljs-string">&quot;ds(event)&quot;</span>&gt;</span>baidu<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">script</span>&gt;</span><span class="actionscript">
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">ds</span><span class="hljs-params">(e)</span></span>{
        e.preventDefault();
    }
</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
</code></pre>
                                    <h3
                                        id="118-&#x2605;&#x2605;-&#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;-cookies&#xFF0C;sessionstorage-&#x548C;-localstorage-&#x7684;&#x533A;&#x522B;&#xFF1F;">
                                        <a name="118-&#x2605;&#x2605;-&#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;-cookies&#xFF0C;sessionstorage-&#x548C;-localstorage-&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#118-&#x2605;&#x2605;-&#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;-cookies&#xFF0C;sessionstorage-&#x548C;-localstorage-&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="118-&#x2605;&#x2605;-&#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;-cookies&#xFF0C;sessionstorage-&#x548C;-localstorage-&#x7684;&#x533A;&#x522B;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#118-&#x2605;&#x2605;-&#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;-cookies&#xFF0C;sessionstorage-&#x548C;-localstorage-&#x7684;&#x533A;&#x522B;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-118"> 118. &#x2605;&#x2605; &#x8BF7;&#x63CF;&#x8FF0;&#x4E00;&#x4E0B;
                                            cookies&#xFF0C;sessionStorage &#x548C; localStorage
                                            &#x7684;&#x533A;&#x522B;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS">&#x4E0D;&#x540C;&#x70B9;&#xFF1A;

<span class="hljs-number">1.</span>&#x5B58;&#x50A8;&#x5927;&#x5C0F;
cookie&#x6570;&#x636E;&#x5927;&#x5C0F;&#x4E0D;&#x80FD;&#x8D85;&#x8FC7;<span class="hljs-number">4</span>k&#x3002;
sessionStorage&#x548C;localStorage &#x867D;&#x7136;&#x4E5F;&#x6709;&#x5B58;&#x50A8;&#x5927;&#x5C0F;&#x7684;&#x9650;&#x5236;&#xFF0C;&#x4F46;&#x6BD4;cookie&#x5927;&#x5F97;&#x591A;&#xFF0C;&#x53EF;&#x4EE5;&#x8FBE;&#x5230;<span class="hljs-number">5</span>M&#x6216;&#x66F4;&#x5927;&#x3002;
<span class="hljs-number">2.</span>&#x6709;&#x6548;&#x65F6;&#x95F4;
localStorage    &#x5B58;&#x50A8;&#x6301;&#x4E45;&#x6570;&#x636E;&#xFF0C;&#x6D4F;&#x89C8;&#x5668;&#x5173;&#x95ED;&#x540E;&#x6570;&#x636E;&#x4E0D;&#x4E22;&#x5931;&#x9664;&#x975E;&#x4E3B;&#x52A8;&#x5220;&#x9664;&#x6570;&#x636E;&#xFF1B;
sessionStorage  &#x6570;&#x636E;&#x5728;&#x5F53;&#x524D;&#x6D4F;&#x89C8;&#x5668;&#x7A97;&#x53E3;&#x5173;&#x95ED;&#x540E;&#x81EA;&#x52A8;&#x5220;&#x9664;&#x3002;
cookie          &#x8BBE;&#x7F6E;&#x7684;cookie&#x8FC7;&#x671F;&#x65F6;&#x95F4;&#x4E4B;&#x524D;&#x4E00;&#x76F4;&#x6709;&#x6548;&#xFF0C;&#x5373;&#x4F7F;&#x7A97;&#x53E3;&#x6216;&#x6D4F;&#x89C8;&#x5668;&#x5173;&#x95ED;
<span class="hljs-number">3.</span> &#x6570;&#x636E;&#x4E0E;&#x670D;&#x52A1;&#x5668;&#x4E4B;&#x95F4;&#x7684;&#x4EA4;&#x4E92;&#x65B9;&#x5F0F;
cookie&#x7684;&#x6570;&#x636E;&#x4F1A;&#x81EA;&#x52A8;&#x7684;&#x4F20;&#x9012;&#x5230;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x4E5F;&#x53EF;&#x4EE5;&#x5199;cookie&#x5230;&#x5BA2;&#x6237;&#x7AEF;
sessionStorage&#x548C;localStorage&#x4E0D;&#x4F1A;&#x81EA;&#x52A8;&#x628A;&#x6570;&#x636E;&#x53D1;&#x7ED9;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x4EC5;&#x5728;&#x672C;&#x5730;&#x4FDD;&#x5B58;&#x3002;
</code></pre>
                                    <h3
                                        id="119-&#x2605;&#x2605;&#x2605;-instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;">
                                        <a name="119-&#x2605;&#x2605;&#x2605;-instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#119-&#x2605;&#x2605;&#x2605;-instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="119-&#x2605;&#x2605;&#x2605;-instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"
                                            class="plugin-anchor"
                                            href="#119-&#x2605;&#x2605;&#x2605;-instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-119"> 119. &#x2605;&#x2605;&#x2605;
                                            instanceof&#x7684;&#x539F;&#x7406;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-comment">// instanceof &#x53EF;&#x4EE5;&#x6B63;&#x786E;&#x7684;&#x5224;&#x65AD;&#x5BF9;&#x8C61;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x662F;&#x901A;&#x8FC7;&#x5224;&#x65AD;&#x5BF9;&#x8C61;&#x7684;&#x539F;&#x578B;&#x94FE;&#x4E2D;&#x662F;&#x4E0D;&#x662F;&#x80FD;&#x627E;&#x5230;&#x7C7B;&#x578B;&#x7684; prototype&#x3002;</span>

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fn</span>(<span class="hljs-params">left, right</span>) </span>{
    <span class="hljs-keyword">let</span> prototype = right.prototype;
    left = left.__proto__;
    <span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>) {
        <span class="hljs-keyword">if</span> (left === <span class="hljs-literal">undefined</span> || left === <span class="hljs-literal">null</span>) {
            <span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
        }
        <span class="hljs-keyword">if</span> (left === prototype) {
            <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
        }
        left = left.__proto__;
    }
}
</code></pre>
                                    <h3
                                        id="120-&#x2605;&#x2605;&#x2605;-&#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;-javascript-&#x7EE7;&#x627F;">
                                        <a name="120-&#x2605;&#x2605;&#x2605;-&#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;-javascript-&#x7EE7;&#x627F;"
                                            class="anchor-navigation-ex-anchor"
                                            href="#120-&#x2605;&#x2605;&#x2605;-&#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;-javascript-&#x7EE7;&#x627F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a><a
                                            name="120-&#x2605;&#x2605;&#x2605;-&#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;-javascript-&#x7EE7;&#x627F;"
                                            class="plugin-anchor"
                                            href="#120-&#x2605;&#x2605;&#x2605;-&#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;-javascript-&#x7EE7;&#x627F;"><i
                                                class="fa fa-link" aria-hidden="true"></i></a>
                                        <p id="js-120"> 120. &#x2605;&#x2605;&#x2605;
                                            &#x7528;&#x591A;&#x79CD;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0; JavaScript
                                            &#x7EE7;&#x627F;</p>
                                    </h3>
                                    <pre><code class="lang-JS"><span class="hljs-number">1</span>&#x3001;&#x539F;&#x578B;&#x94FE;&#x7EE7;&#x627F;
&#x6838;&#x5FC3;&#xFF1A; &#x5C06;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x4F5C;&#x4E3A;&#x5B50;&#x7C7B;&#x7684;&#x539F;&#x578B;
&#x7279;&#x70B9;&#xFF1A;
    <span class="hljs-number">1.</span> &#x975E;&#x5E38;&#x7EAF;&#x7CB9;&#x7684;&#x7EE7;&#x627F;&#x5173;&#x7CFB;&#xFF0C;&#x5B9E;&#x4F8B;&#x662F;&#x5B50;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x4E5F;&#x662F;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;
    <span class="hljs-number">2.</span> &#x7236;&#x7C7B;&#x65B0;&#x589E;&#x539F;&#x578B;&#x65B9;&#x6CD5;/&#x539F;&#x578B;&#x5C5E;&#x6027;&#xFF0C;&#x5B50;&#x7C7B;&#x90FD;&#x80FD;&#x8BBF;&#x95EE;&#x5230;
    <span class="hljs-number">3.</span> &#x7B80;&#x5355;&#xFF0C;&#x6613;&#x4E8E;&#x5B9E;&#x73B0;
&#x7F3A;&#x70B9;&#xFF1A;

    <span class="hljs-number">1.</span> &#x8981;&#x60F3;&#x4E3A;&#x5B50;&#x7C7B;&#x65B0;&#x589E;&#x5C5E;&#x6027;&#x548C;&#x65B9;&#x6CD5;&#xFF0C;&#x5FC5;&#x987B;&#x8981;&#x5728;<span class="hljs-keyword">new</span> Animal()&#x8FD9;&#x6837;&#x7684;&#x8BED;&#x53E5;&#x4E4B;&#x540E;&#x6267;&#x884C;&#xFF0C;&#x4E0D;&#x80FD;&#x653E;&#x5230;&#x6784;&#x9020;&#x5668;&#x4E2D;
    <span class="hljs-number">2.</span> &#x65E0;&#x6CD5;&#x5B9E;&#x73B0;&#x591A;&#x7EE7;&#x627F;
    <span class="hljs-number">3.</span> &#x6765;&#x81EA;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x7684;&#x6240;&#x6709;&#x5C5E;&#x6027;&#x88AB;&#x6240;&#x6709;&#x5B9E;&#x4F8B;&#x5171;&#x4EAB;&#xFF08;&#x6765;&#x81EA;&#x539F;&#x578B;&#x5BF9;&#x8C61;&#x7684;&#x5F15;&#x7528;&#x5C5E;&#x6027;&#x662F;&#x6240;&#x6709;&#x5B9E;&#x4F8B;&#x5171;&#x4EAB;&#x7684;&#xFF09;&#xFF08;&#x8BE6;&#x7EC6;&#x8BF7;&#x770B;&#x9644;&#x5F55;&#x4EE3;&#x7801;&#xFF1A; &#x793A;&#x4F8B;<span class="hljs-number">1</span>&#xFF09;
    <span class="hljs-number">4.</span> &#x521B;&#x5EFA;&#x5B50;&#x7C7B;&#x5B9E;&#x4F8B;&#x65F6;&#xFF0C;&#x65E0;&#x6CD5;&#x5411;&#x7236;&#x7C7B;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4F20;&#x53C2;
&#x63A8;&#x8350;&#x6307;&#x6570;&#xFF1A;&#x2605;&#x2605;&#xFF08;<span class="hljs-number">3</span>&#x3001;<span class="hljs-number">4</span>&#x4E24;&#x5927;&#x81F4;&#x547D;&#x7F3A;&#x9677;&#xFF09;

<span class="hljs-number">2</span>&#x3001;&#x6784;&#x9020;&#x7EE7;&#x627F;
&#x6838;&#x5FC3;&#xFF1A;&#x4F7F;&#x7528;&#x7236;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x6765;&#x589E;&#x5F3A;&#x5B50;&#x7C7B;&#x5B9E;&#x4F8B;&#xFF0C;&#x7B49;&#x4E8E;&#x662F;&#x590D;&#x5236;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5C5E;&#x6027;&#x7ED9;&#x5B50;&#x7C7B;&#xFF08;&#x6CA1;&#x7528;&#x5230;&#x539F;&#x578B;&#xFF09;
&#x7279;&#x70B9;&#xFF1A;
    <span class="hljs-number">1.</span> &#x89E3;&#x51B3;&#x4E86;<span class="hljs-number">1</span>&#x4E2D;&#xFF0C;&#x5B50;&#x7C7B;&#x5B9E;&#x4F8B;&#x5171;&#x4EAB;&#x7236;&#x7C7B;&#x5F15;&#x7528;&#x5C5E;&#x6027;&#x7684;&#x95EE;&#x9898;
    <span class="hljs-number">2.</span> &#x521B;&#x5EFA;&#x5B50;&#x7C7B;&#x5B9E;&#x4F8B;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x5411;&#x7236;&#x7C7B;&#x4F20;&#x9012;&#x53C2;&#x6570;
    <span class="hljs-number">3.</span> &#x53EF;&#x4EE5;&#x5B9E;&#x73B0;&#x591A;&#x7EE7;&#x627F;&#xFF08;call&#x591A;&#x4E2A;&#x7236;&#x7C7B;&#x5BF9;&#x8C61;&#xFF09;
&#x7F3A;&#x70B9;&#xFF1A;
    <span class="hljs-number">1.</span> &#x5B9E;&#x4F8B;&#x5E76;&#x4E0D;&#x662F;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x53EA;&#x662F;&#x5B50;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;
    <span class="hljs-number">2.</span> &#x53EA;&#x80FD;&#x7EE7;&#x627F;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5C5E;&#x6027;&#x548C;&#x65B9;&#x6CD5;&#xFF0C;&#x4E0D;&#x80FD;&#x7EE7;&#x627F;&#x539F;&#x578B;&#x5C5E;&#x6027;/&#x65B9;&#x6CD5;
    <span class="hljs-number">3.</span> &#x65E0;&#x6CD5;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x590D;&#x7528;&#xFF0C;&#x6BCF;&#x4E2A;&#x5B50;&#x7C7B;&#x90FD;&#x6709;&#x7236;&#x7C7B;&#x5B9E;&#x4F8B;&#x51FD;&#x6570;&#x7684;&#x526F;&#x672C;&#xFF0C;&#x5F71;&#x54CD;&#x6027;&#x80FD;
&#x63A8;&#x8350;&#x6307;&#x6570;&#xFF1A;&#x2605;&#x2605;&#xFF08;&#x7F3A;&#x70B9;<span class="hljs-number">3</span>&#xFF09;

<span class="hljs-number">3</span>&#x3001;&#x5B9E;&#x4F8B;&#x7EE7;&#x627F;
&#x6838;&#x5FC3;&#xFF1A;&#x4E3A;&#x7236;&#x7C7B;&#x5B9E;&#x4F8B;&#x6DFB;&#x52A0;&#x65B0;&#x7279;&#x6027;&#xFF0C;&#x4F5C;&#x4E3A;&#x5B50;&#x7C7B;&#x5B9E;&#x4F8B;&#x8FD4;&#x56DE;
&#x7279;&#x70B9;&#xFF1A;
    <span class="hljs-number">1.</span>&#x4E0D;&#x9650;&#x5236;&#x8C03;&#x7528;&#x65B9;&#x5F0F;&#xFF0C;&#x4E0D;&#x7BA1;&#x662F;<span class="hljs-keyword">new</span> &#x5B50;&#x7C7B;()&#x8FD8;&#x662F;&#x5B50;&#x7C7B;(),&#x8FD4;&#x56DE;&#x7684;&#x5BF9;&#x8C61;&#x5177;&#x6709;&#x76F8;&#x540C;&#x7684;&#x6548;&#x679C;
&#x7F3A;&#x70B9;&#xFF1A;

    <span class="hljs-number">1.</span> &#x5B9E;&#x4F8B;&#x662F;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x4E0D;&#x662F;&#x5B50;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;
    <span class="hljs-number">2.</span> &#x4E0D;&#x652F;&#x6301;&#x591A;&#x7EE7;&#x627F;
&#x63A8;&#x8350;&#x6307;&#x6570;&#xFF1A;&#x2605;&#x2605;

<span class="hljs-number">4</span>&#x3001;&#x62F7;&#x8D1D;&#x7EE7;&#x627F;

&#x7279;&#x70B9;&#xFF1A;&#x652F;&#x6301;&#x591A;&#x7EE7;&#x627F;
&#x7F3A;&#x70B9;&#xFF1A;
    <span class="hljs-number">1.</span> &#x6548;&#x7387;&#x8F83;&#x4F4E;&#xFF0C;&#x5185;&#x5B58;&#x5360;&#x7528;&#x9AD8;&#xFF08;&#x56E0;&#x4E3A;&#x8981;&#x62F7;&#x8D1D;&#x7236;&#x7C7B;&#x7684;&#x5C5E;&#x6027;&#xFF09;
    <span class="hljs-number">2.</span> &#x65E0;&#x6CD5;&#x83B7;&#x53D6;&#x7236;&#x7C7B;&#x4E0D;&#x53EF;&#x679A;&#x4E3E;&#x7684;&#x65B9;&#x6CD5;&#xFF08;&#x4E0D;&#x53EF;&#x679A;&#x4E3E;&#x65B9;&#x6CD5;&#xFF0C;&#x4E0D;&#x80FD;&#x4F7F;&#x7528;<span class="hljs-keyword">for</span> <span class="hljs-keyword">in</span> &#x8BBF;&#x95EE;&#x5230;&#xFF09;
&#x63A8;&#x8350;&#x6307;&#x6570;&#xFF1A;&#x2605;&#xFF08;&#x7F3A;&#x70B9;<span class="hljs-number">1</span>&#xFF09;

<span class="hljs-number">5</span>&#x3001;&#x7EC4;&#x5408;&#x7EE7;&#x627F;
&#x6838;&#x5FC3;&#xFF1A;&#x901A;&#x8FC7;&#x8C03;&#x7528;&#x7236;&#x7C7B;&#x6784;&#x9020;&#xFF0C;&#x7EE7;&#x627F;&#x7236;&#x7C7B;&#x7684;&#x5C5E;&#x6027;&#x5E76;&#x4FDD;&#x7559;&#x4F20;&#x53C2;&#x7684;&#x4F18;&#x70B9;&#xFF0C;&#x7136;&#x540E;&#x901A;&#x8FC7;&#x5C06;&#x7236;&#x7C7B;&#x5B9E;&#x4F8B;&#x4F5C;&#x4E3A;&#x5B50;&#x7C7B;&#x539F;&#x578B;&#xFF0C;&#x5B9E;&#x73B0;&#x51FD;&#x6570;&#x590D;&#x7528;
&#x7279;&#x70B9;&#xFF1A;
    <span class="hljs-number">1.</span> &#x5F25;&#x8865;&#x4E86;&#x65B9;&#x5F0F;<span class="hljs-number">2</span>&#x7684;&#x7F3A;&#x9677;&#xFF0C;&#x53EF;&#x4EE5;&#x7EE7;&#x627F;&#x5B9E;&#x4F8B;&#x5C5E;&#x6027;/&#x65B9;&#x6CD5;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x7EE7;&#x627F;&#x539F;&#x578B;&#x5C5E;&#x6027;/&#x65B9;&#x6CD5;
    <span class="hljs-number">2.</span> &#x65E2;&#x662F;&#x5B50;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x4E5F;&#x662F;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;
    <span class="hljs-number">3.</span> &#x4E0D;&#x5B58;&#x5728;&#x5F15;&#x7528;&#x5C5E;&#x6027;&#x5171;&#x4EAB;&#x95EE;&#x9898;
    <span class="hljs-number">4.</span> &#x53EF;&#x4F20;&#x53C2;
    <span class="hljs-number">5.</span> &#x51FD;&#x6570;&#x53EF;&#x590D;&#x7528;
&#x7F3A;&#x70B9;&#xFF1A;
    <span class="hljs-number">1.</span> &#x8C03;&#x7528;&#x4E86;&#x4E24;&#x6B21;&#x7236;&#x7C7B;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x751F;&#x6210;&#x4E86;&#x4E24;&#x4EFD;&#x5B9E;&#x4F8B;&#xFF08;&#x5B50;&#x7C7B;&#x5B9E;&#x4F8B;&#x5C06;&#x5B50;&#x7C7B;&#x539F;&#x578B;&#x4E0A;&#x7684;&#x90A3;&#x4EFD;&#x5C4F;&#x853D;&#x4E86;&#xFF09;

&#x63A8;&#x8350;&#x6307;&#x6570;&#xFF1A;&#x2605;&#x2605;&#x2605;&#x2605;&#xFF08;&#x4EC5;&#x4EC5;&#x591A;&#x6D88;&#x8017;&#x4E86;&#x4E00;&#x70B9;&#x5185;&#x5B58;&#xFF09;

<span class="hljs-number">6</span>&#x3001;&#x5BC4;&#x751F;&#x7EC4;&#x5408;&#x7EE7;&#x627F;
&#x6838;&#x5FC3;&#xFF1A;&#x901A;&#x8FC7;&#x5BC4;&#x751F;&#x65B9;&#x5F0F;&#xFF0C;&#x780D;&#x6389;&#x7236;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5C5E;&#x6027;&#xFF0C;&#x8FD9;&#x6837;&#xFF0C;&#x5728;&#x8C03;&#x7528;&#x4E24;&#x6B21;&#x7236;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5C31;&#x4E0D;&#x4F1A;&#x521D;&#x59CB;&#x5316;&#x4E24;&#x6B21;&#x5B9E;&#x4F8B;&#x65B9;&#x6CD5;/&#x5C5E;&#x6027;&#xFF0C;&#x907F;&#x514D;&#x7684;&#x7EC4;&#x5408;&#x7EE7;&#x627F;&#x7684;&#x7F3A;&#x70B9;

&#x7279;&#x70B9;&#xFF1A;&#x582A;&#x79F0;&#x5B8C;&#x7F8E;
&#x7F3A;&#x70B9;&#xFF1A;&#x5B9E;&#x73B0;&#x8F83;&#x4E3A;&#x590D;&#x6742;
&#x63A8;&#x8350;&#x6307;&#x6570;&#xFF1A;&#x2605;&#x2605;&#x2605;&#x2605;&#x2605;
</code></pre>


                                </section>

                            </div>
                            <div class="search-results">
                                <div class="has-results">

                                    <h1 class="search-results-title"><span class='search-results-count'></span> results
                                        matching "<span class='search-query'></span>"</h1>
                                    <ul class="search-results-list"></ul>

                                </div>
                                <div class="no-results">

                                    <h1 class="search-results-title">No results matching "<span
                                            class='search-query'></span>"</h1>

                                </div>
                            </div>
                        </div>

                    </div>
                </div>

            </div>



            <a href="../HTML+CSS/" class="navigation navigation-prev " aria-label="Previous page: HTML5+CSS3">
                <i class="fa fa-angle-left"></i>
            </a>


            <a href="../node/" class="navigation navigation-next " aria-label="Next page: Node.js">
                <i class="fa fa-angle-right"></i>
            </a>



        </div>

        <script>
            var gitbook = gitbook || [];
            gitbook.push(function () {
                gitbook.page.hasChanged({ "page": { "title": "JavaScript", "level": "1.3", "depth": 1, "next": { "title": "Node.js", "level": "1.4", "depth": 1, "path": "node/index.md", "ref": "./node/index.md", "articles": [] }, "previous": { "title": "HTML5+CSS3", "level": "1.2", "depth": 1, "path": "HTML+CSS/index.md", "ref": "./HTML+CSS/index.md", "articles": [] }, "dir": "ltr" }, "config": { "plugins": ["-sharing", "splitter", "expandable-chapters-small", "anchors", "github", "github-buttons", "sharing-plus", "anchor-navigation-ex", "favicon", "insert-logo"], "styles": { "website": "./styles/website.css" }, "pluginsConfig": { "github": { "url": "https://github.com/lurongtao/felixbooks-interview" }, "splitter": {}, "search": {}, "sharing-plus": { "qq": false, "all": ["facebook", "google", "twitter", "instapaper", "linkedin", "pocket", "stumbleupon"], "douban": false, "facebook": true, "weibo": false, "instapaper": false, "whatsapp": false, "hatenaBookmark": false, "twitter": true, "messenger": false, "line": false, "vk": false, "pocket": true, "google": false, "viber": false, "stumbleupon": false, "qzone": false, "linkedin": false }, "lunr": { "maxIndexSize": 1000000, "ignoreSpecialCharacters": false }, "fontsettings": { "theme": "white", "family": "sans", "size": 2 }, "highlight": {}, "anchor-navigation-ex": { "associatedWithSummary": true, "float": { "floatIcon": "fa fa-navicon", "level1Icon": "", "level2Icon": "", "level3Icon": "", "showLevelIcon": false }, "mode": "float", "multipleH1": true, "pageTop": { "level1Icon": "", "level2Icon": "", "level3Icon": "", "showLevelIcon": false }, "printLog": false, "showGoTop": true, "showLevel": false }, "favicon": { "shortcut": "./source/images/favicon.jpg", "bookmark": "./source/images/favicon.jpg", "appleTouch": "./source/images/apple-touch-icon.jpg", "appleTouchMore": { "120x120": "./source/images/apple-touch-icon.jpg", "180x180": "./source/images/apple-touch-icon.jpg" } }, "github-buttons": { "buttons": [{ "user": "lurongtao", "repo": "felixbooks-interview", "type": "star", "size": "small", "count": true }] }, "expandable-chapters-small": {}, "sharing": { "qq": false, "all": ["google", "facebook", "weibo", "twitter", "qq", "qzone", "linkedin", "pocket"], "douban": false, "facebook": false, "weibo": false, "instapaper": false, "whatsapp": false, "hatenaBookmark": false, "twitter": false, "messenger": false, "line": false, "vk": false, "pocket": false, "google": false, "viber": false, "stumbleupon": false, "qzone": false, "linkedin": false }, "theme-default": { "styles": { "website": "styles/website.css", "pdf": "styles/pdf.css", "epub": "styles/epub.css", "mobi": "styles/mobi.css", "ebook": "styles/ebook.css", "print": "styles/print.css" }, "showLevel": false }, "anchors": {}, "insert-logo": { "url": "/felixbooks-interview2/images/logo-interview.png", "style": "background: skyblue; width: 100%; height: 100%;" } }, "theme": "default", "author": "码路", "pdf": { "pageNumbers": true, "fontSize": 12, "fontFamily": "Arial", "paperSize": "a4", "chapterMark": "pagebreak", "pageBreaksBefore": "/", "margin": { "right": 62, "left": 62, "top": 56, "bottom": 56 } }, "structure": { "langs": "LANGS.md", "readme": "README.md", "glossary": "GLOSSARY.md", "summary": "SUMMARY.md" }, "variables": {}, "title": "码路大前端小册-企业面试真题", "language": "zh-hans", "links": {}, "gitbook": "3.2.3", "description": "Electron 入门与实战" }, "file": { "path": "javascript/index.md", "mtime": "2023-05-06T23:22:47.652Z", "type": "markdown" }, "gitbook": { "version": "3.2.3", "time": "2023-05-06T23:31:20.692Z" }, "basePath": "..", "book": { "language": "" } });
            });
        </script>
    </div>


    <script src="../gitbook/gitbook.js"></script>
    <script src="../gitbook/theme.js"></script>


    <script src="../gitbook/gitbook-plugin-splitter/splitter.js"></script>



    <script src="../gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js"></script>



    <script src="../gitbook/gitbook-plugin-github/plugin.js"></script>



    <script src="../gitbook/gitbook-plugin-github-buttons/plugin.js"></script>



    <script src="../gitbook/gitbook-plugin-sharing-plus/buttons.js"></script>



    <script src="../gitbook/gitbook-plugin-insert-logo/plugin.js"></script>



    <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>



    <script src="../gitbook/gitbook-plugin-search/search.js"></script>



    <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>



    <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>



    <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>



</body>

</html>